python爬取京东文胸数据(一)

##点击——>要爬取网址
作为一个爬虫小白解决问题是十分蛋疼的(Φ皿Φ),就这几行代码,我折磨了一下午,然后我发现,学习代码最大的难题是学习资源获取的途径并不是代码本身,只要学,任何人都能学会

**1.**先到达页面打开开发者模式(F12),点击商品评论,我们随便的复制一些字,去源码里搜搜发现没有这句话,就知道是动态页面了,该去找json文件了

开发者选项

**2.**我们进入Network,去filter里面打comment,一般评论关键词就这个,然后去翻里面的请求,随便翻翻就找到了,也不是瞎翻,重点是js请求

找评论

**3.**知道了这个是相应的请求了,去headers弄url,去看看怎么样

复制url
看到评论了

4下面开始搞代码

import requests
import json

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'}

url = 'https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv12345&productId=19523497981&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1'
res = requests.get(url,headers=headers)
jd=json.loads(res.text.lstrip('fetchJSON_comment98vv12345(').rstrip(');'))
#上面这行真是让我蛋疼半天的元首,记住要去掉无关字符
com_list=jd['comments']
for i in com_list:
    print(i['content'])

心路历程:我之前爬过几个动态页面没遇到过这种问题,一开始我没去掉,一直报这种错

E:\python3\python.exe F:/pycharm/untitled/cpu.py
Traceback (most recent call last):
  File "F:/pycharm/untitled/cpu.py", line 12, in <module>
    sd = json.loads(res)
  File "E:\python3\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "E:\python3\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "E:\python3\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我就去百度狂搜,千奇百怪各种回答,我还痴呆的去一个个认真对照,最后我反其道而寻之!看看其它人怎么爬的,又是一番波折,不少上古级或大神级代码,不想看,最后刮半天找到这个解决之道

猜你喜欢

转载自blog.csdn.net/qq_35680144/article/details/84257211