求助,request传参数遇到这个问题,java.lang.NullPointerException,该怎么办
8条回答 默认 最新
关注 - 你看下这篇博客吧, 应该有用👉 :java调用python代码出现java.lang.NullPointerException: null
- 以下回答由chatgpt基于相关博客总结生成:
问题:
- 你使用的Python版本是多少?
- 你是在使用哪个库进行请求?
- 请提供相关代码片段以便我更好地理解您的问题。
参考资料:
段落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>.*?) ' 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!!!----------")
解决方案:
- 根据问题描述,使用Python进行请求,参考资料中给出了两个案例,一个是直接解析json格式的数据,并保存到csv文件中;另一个是使用正则表达式解析网页内容,并保存到csv文件中。
- 针对问题1和问题2,请回答具体的Python版本和使用的请求库。
- 根据提供的代码片段,即可得到解决方案。根据代码,可以看出:
- 案例1中使用requests库发送GET请求,获取到的数据是json格式的,通过遍历json中的字典数据,将相应的值保存到字典中,然后写入csv文件。
- 案例2中同样使用requests库发送GET请求,获取到的数据是网页的html内容,通过正则表达式匹配提取需要的信息,然后写入csv文件。
根据问题描述,目前无法得知具体的问题是什么,因此无法给出具体的解决方案,只能根据提供的参考资料给出以上的解释和代码分析。请重新提供具体问题的描述,以便给出相应的解决方案。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 php同一个单元格里多选提交,更新表格
- ¥15 Vue 前端调用本地jar包有什么方法?
- ¥20 py3.7.4离线安装openpyxl等错误
- ¥15 基础的图像处理问题求解答
- ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
- ¥15 idea做图书管理系统,要求如下
- ¥15 最短路径分配法——多路径分配
- ¥15 SQL server 2022安装程序(英语)无法卸载
- ¥15 求一个nao机器人跳舞的程序
- ¥15 anaconda下载后spyder内无法正常运行