result = response.json()出现错误json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
发表在Python视频课程答疑 2020-02-18
是否精华
版块置顶:

按基础教程视频打码,视频里面没有出现错误,我这里运行出现错误,需要如何解决,谢谢

result = response.json()出现错误json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

代码如下

import requests
url = response = requests.get(url)
result = response.json()
result = result[][]
i result:
    (i)

错误如下
Traceback (most recent call last):
  File "D:/xueyuan/program/huochepiao/demo.py", line 5, in <module>
    result = response.json()
  File "D:\Program Files\Python\Python38\lib\site-packages\requests\models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "D:\Program Files\Python\Python38\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "D:\Program Files\Python\Python38\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\Program Files\Python\Python38\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

进程已结束,退出代码 1


分享到:
精彩评论 3
wjl1011
学分:177 LV4
2020-02-19
沙发

1、直接将Cookie写在header头部
# coding:utf-8
import requests
from bs4 import BeautifulSoup
cookie = '''cisession=19dfd70a27ec0eecf1fe3fc2e48b7f91c7c83c60;CNZZDATA1000201968=181584
6425-1478580135-https%253A%252F%252Fwww.baidu.com%252F%7C1483922031;Hm_lvt_f805f7762a9a2
37a0deac37015e9f6d9=1482722012,1483926313;Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9=14839
26368'''
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Geck
o) Chrome/53.0.2785.143 Safari/537.36',
'Connection': 'keep-alive',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Cookie': cookie}
url = 'https://kankandou.com/book/view/22353.html'
wbdata = requests.get(url,headers=header).text
soup = BeautifulSoup(wbdata,'lxml')
print(soup)


2、使用requests插入Cookie
# coding:utf-8
import requests
from bs4 import BeautifulSoup
cookie = {
"cisession":"19dfd70a27ec0eecf1fe3fc2e48b7f91c7c83c60",
"CNZZDATA100020196":"1815846425-1478580135-https%253A%252F%252Fwww.baidu.com%252F%7C1483
922031",
"Hm_lvt_f805f7762a9a237a0deac37015e9f6d9":"1482722012,1483926313",
"Hm_lpvt_f805f7762a9a237a0deac37015e9f6d9":"1483926368"
}
url = 'https://kankandou.com/book/view/22353.html'
wbdata = requests.get(url,cookies=cookie).text
soup = BeautifulSoup(wbdata,'lxml')
print(soup)
这样我们就轻松的使用Cookie获取到了需要登录验证后才能浏览的网页和资源了。上面的Cookie是从自己浏览的网页中复制粘贴得到的。

参考自:《python爬虫实战入门教程》
————————————————
版权声明:本文为CSDN博主「Shaing_Saying」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38706928/article/details/80376572

莱茵KK
学分:6 LV1
2020-02-20
板凳

楼上这是回答的啥?有人看懂了吗?

我也碰到同样的问题,求解决方案

wjl1011
学分:177 LV4
2020-02-24
地板

问题终于解决了,主要还是需要模拟浏览器发送请求信息,需要加上headers和cookies的两个信息就可以。

import requests
headers = {}
cookies = {}
url = response = requests.get(url) #在这里添加headers或cookies,或者都添加,直到返回是正确的url时就可以了
print(response.url)  #
#result = response.json()
#result = result[][]
#for i in result:
#    print(i)


首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照