自從寫了第一個sina爬蟲,便一發不可收拾。進入淘寶評論爬蟲正題:數據庫
在作這個的時候,也沒有深思到底爬取商品評論有什麼用,後來,爬下來了數據。以爲這些數據能夠用於幫助分析商品的評論,從而爲用戶選擇商品提供必定的可參考數據。json
找評論所在真實url:有了前面爬搜狗圖片的經驗,面對找資料的url這件事,找他的速度是比第一次快了很多。首先進寶貝頁面,如圖app
發現評論與搜狗圖片相似,均爲動態刷新。所以,F12(開發者選項)>>Notework>>F5(刷新)>>feedRateList(文件名)>>Headers>>複製Request URL url
去除沒必要要的字段,得到須要的資料(評論)所在url= https://rate.taobao.com/feedRateList.htm?auctionNumId=39595400262¤tPageNum=1spa
猜想url地址爲商品id,PageNum爲評論的所在頁數。所以要把全部頁的評論遍歷一遍。則應取Num的值遞增訪問,統計評論,直至輸出的評論數等於總評爲止,Num再也不疊加,固然疊加後確定是404嘍。code
愉快的代碼時間:htm
import requests import json def getCommodityComments(url): if url[url.find('id=')+14] != '&': id = url[url.find('id=')+3:url.find('id=')+15] else: id = url[url.find('id=')+3:url.find('id=')+14] url = 'https://rate.taobao.com/feedRateList.htm?auctionNumId='+id+'¤tPageNum=1' res = requests.get(url) jc = json.loads(res.text.strip().strip('()')) max = jc['total'] users = [] comments = [] count = 0 page = 1 print('該商品共有評論'+str(max)+'條,具體以下: loading...') while count<max: res = requests.get(url[:-1]+str(page)) page = page + 1 jc = json.loads(res.text.strip().strip('()')) jc = jc['comments'] for j in jc: users.append(j['user']['nick']) comments.append( j['content']) print(count+1,'>>',users[count],'\n ',comments[count]) count = count + 1 getCommodityComments('https://item.taobao.com/item.htm?id=39595400262&')
來來來,看一下效果:blog
綜上,Python爬蟲的關鍵就在於獲取所要爬取資料所在真實url,獲得該url後,只須要作相應處理,for循環遍歷全部頁便可爬取得到資料,重要的資料亦可寫進數據庫。圖片