小程哑 2023-06-29 16:10 采纳率: 25%
浏览 172
已结题

python request的问题

求助,request传参数遇到这个问题,java.lang.NullPointerException,该怎么办

img

img

img

  • 写回答

8条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-29 19:17
    关注
    • 你看下这篇博客吧, 应该有用👉 :java调用python代码出现java.lang.NullPointerException: null
    • 以下回答由chatgpt基于相关博客总结生成:

      问题:

      1. 你使用的Python版本是多少?
      2. 你是在使用哪个库进行请求?
      3. 请提供相关代码片段以便我更好地理解您的问题。

      参考资料:

      段落0: 案例1:直接解析

      # coding=utf-8
      import requests
      import csv
      
      if __name__ == "__main__":
          post_url = 'https://movie.douban.com/j/chart/top_list'
          headers = {
              'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40'
          }
          param = {
              'type': '13',
              'interval_id': '100:90',
              'action':'',
              'start': 0,    #从第几部电影开始去取
              'limit': 250,       #一次取多少个
          }
          reps = requests.get(url=post_url,params=param,headers=headers)
          list_data = reps.json()
          #创建空字典存储爬取数据
          dic = {}
          #创建csv文件存储
          f = open("DouBanData.csv", mode='w', newline='')
          csvwriter = csv.writer(f)
          #for循环从列表中提取字典的键值
          for dicnum in list_data:
              dic['排名'] = dicnum['rank']
              dic['电影名'] = dicnum['title']
              dic['上映时间'] = dicnum['release_date']
              dic['评论数'] = dicnum['vote_count']
              dic['评分'] = dicnum['score']
              #print(dic)
              csvwriter.writerow(dic.values())
          f.close()
      
          print('----over!!------')
      

      段落1: 案例2:正则表达式

      import requests
      import re
      import csv
      
      if __name__ == "__main__":
          header = {
              "User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.40"
          }
          url = "https://movie.douban.com/top250"
          #通过循环控制start参数信息,来获取不同页面的电影信息
          for num in range(0,256,25):
              data = {
                  'start': num,
                  'filter': '',
              }
              resp = requests.get(url=url,params=data,headers=header)
              page_content = resp.text
      
              #解析数据
              obj = re.compile(r'<li>.*?<div class="item">.*?<em class="">(?P<rank>.*?)</em>'
                               r'.*?<div class="info">.*?<div class="hd">.*?<a href="(?P<website>.*?)" class="">'
                               r'.*?<span class="title">(?P<name>.*?)</span>'
                               r'.*?<div class="bd">.*?<br>.*?(?P<year>.*?)&nbsp'
                               r'.*?</span>.*?<span class="rating_num" property="v:average">(?P<score>.*?)</span>'
                               r'.*?<span>(?P<num>.*?)</span>',re.S)
              result = obj.finditer(page_content)
      
              f = open("movieTop250_Data.csv", mode='a+', newline='')
              csvwriter = csv.writer(f)
      
              dic = {}
              for it in result:
                  #字典存储数据,scv文件是以,分割,方便后面进行数据分析
                  dic = it.groupdict()
                  dic['year'] = dic['year'].strip()
                  csvwriter.writerow(dic.values())
      
          f.close()
          print("---------over!!!----------")
      

      解决方案:

      1. 根据问题描述,使用Python进行请求,参考资料中给出了两个案例,一个是直接解析json格式的数据,并保存到csv文件中;另一个是使用正则表达式解析网页内容,并保存到csv文件中。
      2. 针对问题1和问题2,请回答具体的Python版本和使用的请求库。
      3. 根据提供的代码片段,即可得到解决方案。根据代码,可以看出:
      4. 案例1中使用requests库发送GET请求,获取到的数据是json格式的,通过遍历json中的字典数据,将相应的值保存到字典中,然后写入csv文件。
      5. 案例2中同样使用requests库发送GET请求,获取到的数据是网页的html内容,通过正则表达式匹配提取需要的信息,然后写入csv文件。

      根据问题描述,目前无法得知具体的问题是什么,因此无法给出具体的解决方案,只能根据提供的参考资料给出以上的解释和代码分析。请重新提供具体问题的描述,以便给出相应的解决方案。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 7月8日
  • 已采纳回答 6月30日
  • 修改了问题 6月29日
  • 创建了问题 6月29日

悬赏问题

  • ¥15 php同一个单元格里多选提交,更新表格
  • ¥15 Vue 前端调用本地jar包有什么方法?
  • ¥20 py3.7.4离线安装openpyxl等错误
  • ¥15 基础的图像处理问题求解答
  • ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
  • ¥15 idea做图书管理系统,要求如下
  • ¥15 最短路径分配法——多路径分配
  • ¥15 SQL server 2022安装程序(英语)无法卸载
  • ¥15 求一个nao机器人跳舞的程序
  • ¥15 anaconda下载后spyder内无法正常运行