报错显示:JSONDecodeError: Expecting value: line 1 column 1 (char 0),具体报错行和报错请看下文,谢谢
还望告知解决方法,不胜感激
代码如下
import requests
import re
#伪装请求头(电商有反爬机制)搞个user_agent
headers={'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'}
#在url里去掉callback=fetchJSON_comment98,获取json格式数据,json为键值对的数据,方便后续操
for page in range(0,51):
print(f'-------------------------------正在爬取第{page}页------------------------------------------')
url=f'https://club.jd.com/comment/productPageComments.action?&productId=10027847648122&score=3&sortType=5&page={page}pageSize=10&isShadowSku=0&fold=1'
response=requests.get(url=url,headers=headers)
json_data=response.json()
**'''**
## 报错行👆
**'''**
comments_list=json_data['comments']
#for 循环提取数据
for commnet in comments_list:
content=commnet['content'] #评论内容
content=re.sub(r'[\t\n]','',content) #把评论的换行给删除
creationTime=commnet['creationTime'] #创建时间
productColor=commnet['productColor'] #产品款式
productSize=commnet['productSize'] #产品尺寸
nickname=commnet['nickname'] #用户名称
replyCount=commnet['replyCount'] #评论人数
score=commnet['score'] #评分
usefulVoteCount=commnet['usefulVoteCount']#点赞数
#print(nickname,content,creationTime,score)
csv_writer.writerow([nickname,content,creationTime,productColor,productSize,replyCount,score,usefulVoteCount])
#控制延迟,防止反爬
time.sleep(random.randint(3,5))
报错
JSONDecodeError Traceback (most recent call last)
<ipython-input-4-ddb784a6b86d> in <module>
4 url=f'https://club.jd.com/comment/productPageComments.action?&productId=10027847648122&score=3&sortType=5&page={page}pageSize=10&isShadowSku=0&fold=1'
5 response=requests.get(url=url,headers=headers)
----> 6 json_data=response.json()
7 comments_list=json_data['comments']
8 #for 循环提取数据
C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py in json(self, **kwargs)
895 # used.
896 pass
--> 897 return complexjson.loads(self.text, **kwargs)
898
899 @property
C:\ProgramData\Anaconda3\lib\json\__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
346 parse_int is None and parse_float is None and
347 parse_constant is None and object_pairs_hook is None and not kw):
--> 348 return _default_decoder.decode(s)
349 if cls is None:
350 cls = JSONDecoder
C:\ProgramData\Anaconda3\lib\json\decoder.py in decode(self, s, _w)
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):
C:\ProgramData\Anaconda3\lib\json\decoder.py in raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
```python