1. 程式人生 > >python爬取京東文胸資料(一)

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)

我就去百度狂搜,千奇百怪各種回答,我還痴呆的去一個個認真對照,最後我反其道而尋之!看看其它人怎麼爬的,又是一番波折,不少上古級或大神級程式碼,不想看,最後刮半天找到這個解決之道