尋找數(shù)據(jù)真實(shí)接口
打開京東商品網(wǎng)址(添加鏈接描述) 查看商品評(píng)價(jià)。我們點(diǎn)擊評(píng)論翻頁,發(fā)現(xiàn)網(wǎng)址未發(fā)生變化,說明該網(wǎng)頁是動(dòng)態(tài)網(wǎng)頁。
我們在瀏覽器右鍵點(diǎn)擊“檢查”,,隨后點(diǎn)擊“Network”,刷新一下,在搜索框中輸入”評(píng)論“,最終找到網(wǎng)址(url)。我們點(diǎn)擊Preview,發(fā)現(xiàn)了我們需要找的信息。
請(qǐng)求網(wǎng)頁
使用requests請(qǐng)求數(shù)據(jù)庫,請(qǐng)求方法是get
我們查看Headers發(fā)現(xiàn)請(qǐng)求方法為get請(qǐng)求,查看Payload并點(diǎn)擊,即為get請(qǐng)求參數(shù),完整代碼如下所示。
import requests
import pandas as pd
items=[]
header = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.1.4031 SLBChan/105'}
url=f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1684832645932&loginType=3&uuid=122270672.2081861737.1683857907.1684829964.1684832583.3&productId=100009464799&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=1&shield='
response= requests.get(url=url,headers=header)
解析網(wǎng)頁
由于網(wǎng)頁返回的是json格式數(shù)據(jù),獲取我們所需要的評(píng)論內(nèi)容、評(píng)論時(shí)間,我們通過字典訪問即可。
先嵌入字典解析庫,通過訪問字典,一層一層將數(shù)據(jù)提取到一頁的部分信息,編輯代碼。
json=response.json()
data=json['comments']
for t in data:
content =t['content']
time =t['creationTime']
通過循環(huán),爬取所有頁面的評(píng)論數(shù)據(jù)
翻頁爬取的關(guān)鍵是找到真實(shí)地址的“翻頁”規(guī)律。
我們分別點(diǎn)擊第1頁、第2頁、第3頁,發(fā)現(xiàn)不同頁碼的除了page參數(shù)不一致,其余相同。
第1頁的“page”是1,第2頁的“page”是2,第2頁的“page”是2,以此類推。 我們嵌套一個(gè)For循環(huán),并通過pandas存儲(chǔ)數(shù)據(jù)。運(yùn)行代碼讓其自動(dòng)爬取其他頁面的評(píng)論信息,并儲(chǔ)存t.xlsx的文件中。 所有代碼如下:
import requests
import pandas as pd
items=[]
for i in range(1,20):
header = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.1.4031 SLBChan/105'}
url=f'https://api.m.jd.com/?appid=item-v3&functionId=pc_club_productPageComments&client=pc&clientVersion=1.0.0&t=1684832645932&loginType=3&uuid=122270672.2081861737.1683857907.1684829964.1684832583.3&productId=100009464799&score=0&sortType=5&page={i}&pageSize=10&isShadowSku=0&rid=0&fold=1&bbtf=1&shield='
response= requests.get(url=url,headers=header)
json=response.json()
data=json['comments']
for t in data:
content =t['content']
time =t['creationTime']
item=[content,time]
items.append(item)
df = pd.DataFrame(items,columns=['評(píng)論內(nèi)容','發(fā)布時(shí)間'])
df.to_excel(r'C:\Users\藍(lán)胖子\Desktop\t.xlsx',encoding='utf_8_sig')
最后,得到爬取的數(shù)據(jù)結(jié)果如下:
我整理了Python爬蟲的學(xué)習(xí)資料,拿出來和大家分享,有需要的朋友可以掃描下方二維碼進(jìn)行領(lǐng)取哦
一、學(xué)習(xí)大綱
二、開發(fā)工具
三、Python基礎(chǔ)資料
文章來源:http://www.zghlxwxcb.cn/news/detail-728317.html
四、實(shí)戰(zhàn)資料
今天的分享就到這里了,覺得有用的話,別忘了關(guān)注我哦文章來源地址http://www.zghlxwxcb.cn/news/detail-728317.html
到了這里,關(guān)于Python如何運(yùn)用爬蟲爬取京東商品評(píng)論的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!