今天繼續來分析爬蟲數據分析文章,一塊兒來看看網易嚴選商品評論的獲取和分析。git
警告:本教程僅用做學習交流,請勿用做商業盈利,違者後果自負!如本文有侵犯任何組織集團公司的隱私或利益,請告知聯繫蘿蔔刪除!!! 聲明:這是一篇超級嚴肅的技術文,超!級!嚴!肅!請本着學習交流的態度閱讀,謝謝!程序員
進入到網易精選官網,搜索「文胸」後,先隨便點進一個商品。github
you.163.com/xhr/comment…mongodb
不難發現,全部的評論數據都存儲在 commentList 中,咱們只需保存該數據便可。數據庫
下面就是如何獲取 itemId 的信息了,這個是產品的 ID,咱們回到網易精選首頁,繼續分析。json
當咱們在搜索框中輸入關鍵字進行搜索的時候,一樣可以發如今 Network 中有不少請求,此時能夠觀察各個請求,經過請求文件的名稱(此處須要一些經驗,守規矩的程序員都不會亂起名字),咱們能夠定位到搜索時展現搜索結果的請求。bash
以上,咱們基本完成了前期的分析工做,下面開始代碼的編寫。app
def search_keyword(keyword):
uri = 'https://you.163.com/xhr/search/search.json'
query = {
"keyword": keyword,
"page": 1
}
try:
res = requests.get(uri, params=query).json()
result = res['data']['directly']['searcherResult']['result']
product_id = []
for r in result:
product_id.append(r['id'])
return product_id
except:
raise
複製代碼
我這裏是獲取了 page 爲 1 的產品 ID,下面就是經過產品 ID 來獲取不一樣產品下的評論信息。ide
經過前面的分析,咱們能夠知道,評論信息都是以下形式的,對這種形式的信息,咱們能夠很方便地存儲進入 MongoDB,而後再慢慢分析數據裏的內容。學習
{
"skuInfo": [
"顏色:膚色",
"杯碼:75B"
],
"frontUserName": "1****8",
"frontUserAvatar": "https://yanxuan.nosdn.127.net/f8f20a77db47b8c66c531c14c8b38ee7.jpg",
"content": "質量好,穿着舒服",
"createTime": 1555546727635,
"picList": [
"https://yanxuan.nosdn.127.net/742f28186d805571e4b3f28faa412941.jpg"
],
"commentReplyVO": null,
"memberLevel": 4,
"appendCommentVO": null,
"star": 5,
"itemId": 1680205
}
複製代碼
對於 MongoDB,咱們既能夠本身搭建,也可使用網上免費的服務。在這裏我介紹一個免費的 MongoDB 服務網站:mlab,使用很簡單,就不過多介紹使用過程了。
數據庫有了,下面就是把數據保存進去了。
def details(product_id):
url = 'https://you.163.com/xhr/comment/listByItemByTag.json'
try:
C_list = []
for i in range(1, 100):
query = {
"itemId": product_id,
"page": i,
}
res = requests.get(url, params=query).json()
if not res['data']['commentList']:
break
print("爬取第 %s 頁評論" % i)
commentList = res['data']['commentList']
C_list.append(commentList)
time.sleep(1)
# save to mongoDB
try:
mongo_collection.insert_many(commentList)
except:
continue
return C_list
except:
raise
複製代碼
最後爬取完成以後,總共是七千多條數據,下面就能夠根據我的須要作一些分析了。
conn = MongoClient("mongodb://%s:%s@ds149974.mlab.com:49974/you163" % ('you163', 'you163')) db = conn.you163 mongo_collection = db.you163
下面就到了激動人心的時刻了,一探妹子偏好!
先來看看妹子們偏好的顏色
再經過餅狀圖來觀察下不一樣顏色的佔比狀況
若是你對這種罩杯尺寸沒有研究的話,沒關係,貼心的我給你準備了對照表,拿走不謝
最後咱們再來看看妹子們對於商品的評價狀況
再來看看在評論區,妹子最喜歡用什麼詞語來描述呢
彷彿進入了「誇誇羣」,看來妹子們首要看重的就是舒服與否,畢竟是貼身的,質量最重要!
好了,看了上面的分析,單身的你是否是更加有了脫單的衝動?若是是已經有軟妹傍身的你,是否是該下手討好下身邊的她了呢?
完整代碼