前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理
本次的爬取目標是某東的一個商品,但從來沒有用過,所以本人很好奇。我們就採集這個商品的評論,看看用過的人怎麼說,體驗如何。最後在詞雲顯示這次的關鍵詞
本次目標
某東商品評論,並詞雲顯示關鍵詞
受害者地址
https://item.jd.com/12520305479.html#crumb-wrap
真刺激
環境
- Python 3.6
- pycharm
爬蟲程式碼
匯入工具
import requests import time import re
通過開發者工具可以找到相對應的資料介面
檢視介面資料引數
多檢視幾頁資料,可以發現page是從 0 1 2 3 開始相對應頁數
注意點:
- 網頁是GBK編碼需要轉碼
- 返回資料可用正則提取,並非json資料
開始爬取評論資料
for page in range(0, 100): url = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=12520305481&score=0&sortType=5&page={}&pageSize=10&isShadowSku=0&rid=0&fold=1'.format(page) headers = { 'cookie': 'PCSYCityID=CN_0_0_0; jwotest_product=99; areaId=18; ipLoc-djd=18-1482-48936-0; unpl=V2_ZzNtbUtfQUYgCEEEfUtZA2IFEQ5LAxYTcVpOASxLXAJgUBEKclRCFnQURlVnGVQUZwQZWUFcRxVFCEdkeB5fA2AFEFlBZxBFLV0CFi9JH1c%2bbRdZQF5EHHwAQ1R8KWwGZzMSXHJTQhV2DE5RchFsNWAzIm1AVUUUfA92VUsYbEczXxpUS1FLHTgMR1R4HVQAbgsiXHJU; __jdv=76161171|baidu-search|t_262767352_baidusearch|cpc|45386889416_0_893bd16a7c47472b8ed75c9dfc166b2f|1603097572255; __jdu=501259489; shshshfpb=tD5U5kzKI%2FrPwiQKAePBtLQ%3D%3D; shshshfpa=7a29fb15-8ae0-995d-303d-02ced1f37473-1601270653; __jda=122270672.501259489.1603097571.1603097571.1603097572.1; __jdc=122270672; shshshfp=8605b9031ad5da18cc9f19e47d4edcba; 3AB9D23F7A4B3C9B=C6CFZWH3AOQJASJVY4I5ZGKYGRGCYTU4KH4XYGXAXS5MQ3QRIGKR7TSLJWPIMM7X2SE6I6WLMCB5ZIYCYBSOO4KRBI; shshshsID=4596a4a3bf541ff0cee5bb2d2a1d9714_6_1603097694903; __jdb=122270672.6.501259489|1.1603097572; JSESSIONID=F2250FD11DD25985B7572DD293CBDC12.s1', 'referer': 'https://item.jd.com/12520305481.html', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36', } response = requests.get(url=url, headers=headers) for i in lis: with open('商品評論.txt', mode='a', encoding='utf-8') as f: f.write(i) f.write('\n') print(i)
執行程式碼,效果如下圖
emmmm,評論很精彩,嘿嘿
詞雲程式碼
import jieba import wordcloud import imageio # 匯入imageio庫中的imread函式,並用這個函式讀取本地圖片,作為詞雲形狀圖片 # py = imageio.imread(r"D:\python\demo\京東娃娃\timg.png") f = open(r'評論資料地址', encoding='utf-8') txt = f.read() # print(txt) # jiabe 分詞 分割詞彙 txt_list = jieba.lcut(txt) string = ' '.join(txt_list) # 詞雲圖設定 wc = wordcloud.WordCloud( width=1000, # 圖片的寬 height=700, # 圖片的高 background_color='white', # 圖片背景顏色 font_path='msyh.ttc', # 詞雲字型 # mask=py, # 所使用的詞雲圖片 scale=15, stopwords={'真的', '感覺', '這個', '這個', '這個'}, # contour_width=5, # contour_color='red' # 輪廓顏色 ) # 給詞雲輸入文字 wc.generate(string) wc.to_file(r'儲存圖片地址')
看來大家對這款商品的評價都很不錯呀