json.decoder.JSONDecodeError:Expecting value :line 1 column 1
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
项目场景:
python关于爬取豆瓣电影排行榜的练习
问题描述:
数据传输过程中数据总是提示下方的错误
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
原因分析:
出现这类问题刚开始我也找了很多大佬发的文章,后来才发现竟然出现在这个位置
错误原代码:
import requests
import json
url = 'https://movie.douban.com/typerank'
#设置参数
param = {
'type': '24',
'interval_id': '100:90',
'action':'',
'start': '1', #从哪个位置开始取
'limit': '20' #一次取多少
}
#UA伪装
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'
}
response = requests.get(url=url,params=param,headers=headers)
#获取响应数据
list_data = response.json()
#持久化存储
fp = open('./douban.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
运行提示:
软件一直提醒我是json数据在第一行第一列少了某种东西,反复查找后才弄清楚原来我犯了一个特别简单的错误。
python爬取网页一部分代码时,传入url的不再是网站的网址,而应该是network下的request URL内容。
解决方案:
方法如下:
以下高光部分需在写代码时着重了解,且传入url的网址为Request URL后面的内容,注意关注Request Method后方是GET还是POST请求哦
正确代码:
import requests
import json
url = ' https://movie.douban.com/j/chart/top_list'
#设置参数
param = {
'type': '24',
'interval_id': '100:90',
'action':'',
'start': '1', #从哪个位置开始取
'limit': '20' #一次取多少
}
#UA伪装
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36'
}
response = requests.get(url=url,params=param,headers=headers)
#获取响应数据
list_data = response.json()
#持久化存储
fp = open('./douban.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
好啦,学废了没
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)