爬取淘宝评论以及词云图
我最近運氣可是不得了,某天騎上我心愛的小電瓶,哪里也不會堵車,雖知道天公不作美,我的手機從褲兜里面飄出來,結果摔壞了。沒辦法只能去某寶上重新購物下。
我們公司的同事推薦我買小米10,于是我就想看下用戶對于他們的評論。
首先是我們要找到含有評論的js文件。這里我是通過萬能Fiddler工具進行查找的。
我們可以看到這個url里面是包含評論。我們具體看看這個url
我們看下這個url,里面有幾個重點參數,可以通過幾個重點參數來構建url。
itemId:產品ID
sellerId:店鋪ID
currentPage:內容頁數
callback :回調
代碼如下:
url="https://rate.tmall.com/list_detail_rate.htm"headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0', 'Referer':'https://detail.tmall.com/item.htm', 'Cookie': '自己填寫' } commentsstr="" for j in range(15):params={'itemId':'611525560119','sellerId' :'2616970884','currentPage':j,'callback':'jsonp552',}response=requests.get(url,params,headers=headers).content.decode('utf-8')[11:-1]response = json.loads(response)通過截取response,再利用loads將其轉化為字典,現在就是再字典中獲取評論,接下來我們看看字典是什么樣子的吧
評論都在一個列表里面,這個列表對應的字典的鍵是rateList,我們可以先得到列表,即是rateList=response[‘rateDetail’][‘rateList’]
,然后遍歷這個列表。
代碼如下:
得到評論的字符串以后,通過jieba分詞,在利用wordcloud畫出詞云圖
commentsstr=commentsstr.replace('手機','') commentsstr=commentsstr.replace('小米','') ls = jieba.lcut(commentsstr) # 將列表中的單詞連接成一個字符串 txt = " ".join(ls) w = wordcloud.WordCloud(width = 1000, height = 700,background_color = "white",font_path = "msyh.ttc") bmp = w.generate(txt) image=w.to_image() image.show()可以去掉一些無關緊要的詞,就比如“手機”,“小米”,“蘇寧”之類的。接下來我們看看運行的結果:
結論:
整體對待小米手機的評價應該是不錯,客服問題、運行速度、電池續航、快遞速度,拍照效果出現的頻率很是挺高的。
以前小米大家最為吐槽的發熱,現在也是退居幕后了。
完整代碼:
import requests import json import jieba import wordcloud import matplotlib.pyplot as plturl="https://rate.tmall.com/list_detail_rate.htm"headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0', 'Referer':'https://detail.tmall.com/item.htm', 'Cookie': '自己填寫'} commentsstr="" for j in range(15):params={'itemId':'611525560119','sellerId' :'2616970884','currentPage':j,'callback':'jsonp552',}response=requests.get(url,params,headers=headers).content.decode('utf-8')response = json.loads(response[11:-1])rateList=response['rateDetail']['rateList']for i in rateList:commentsstr+=i['rateContent'] commentsstr=commentsstr.replace('手機','') commentsstr=commentsstr.replace('小米','') ls = jieba.lcut(commentsstr) # 將列表中的單詞連接成一個字符串 txt = " ".join(ls) w = wordcloud.WordCloud(width = 1000, height = 700,background_color = "white",font_path = "msyh.ttc") bmp = w.generate(txt) image=w.to_image() image.show()總結
以上是生活随笔為你收集整理的爬取淘宝评论以及词云图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读《活着》----余华
- 下一篇: Taro+react开发(58) toH