本文的文字及圖片來源於網絡,僅供學習、交流使用,不具備任何商業用途,若有問題請及時聯繫咱們以做處理。json
如下文章來自於Python小二,做者:Python小二網絡
本文以360手機助手爲例,地址爲:http://zhushou.360.cn/,相親軟件選擇 3 個比較流行的,分別爲:世紀佳緣、百合婚戀、有緣網,咱們使用 Python 爬取軟件評論區,看看用戶評價狀況。ide
先來看一下這三款軟件的下載量和好中差評佔比狀況(下圖單位爲萬次)。工具
下面開始爬取評論區,以世紀佳緣爲例,首先,在搜索框輸入世紀佳緣進行搜索,如圖所示:學習
接着,點擊搜索到的軟件進入其詳情頁,如圖所示:url
將頁面向下拉就能夠看到評論區了,如圖所示:spa
此時打開開發者工具並選擇Network項,點擊查看更多評論,而後能夠看到getComments請求,如圖所示:3d
經過這個請求咱們就能夠動態獲取評論區數據了,其中參數star爲開始的評論索引,參數count爲每次加載的評論個數,能夠經過參數callback、baike指定不一樣應用,爬取代碼實現以下:code
headers = { "Accept": "*/*", "Accept-Encoding": "gzip, deflate, sdch", "Accept-Language": "zh-CN,zh;q=0.8", "Connection": "keep-alive", "Host": "comment.mobilem.360.cn", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER" } def comment_spider(param, file_name): base_url = "http://comment.mobilem.360.cn/comment/getComments?c=message&a=getmessage&&count=50" start = 0 for i in range(1, 50): print("第{}頁".format(i)) url = base_url + param + "&start=" + str(start) r = requests.get(url, headers=headers) data = re.findall("{\"errno\"(.*)\);}catch\(e\){}", r.text) # 轉爲 Json 格式 jdata = json.loads("{\"errno\"" + data[0]) for message in jdata["data"]["messages"]: content = message["content"] print(content) with open(file_name + ".txt", "a", encoding="utf-8") as f: f.write(content) start = start + 50 time.sleep(2)
咱們將爬取的評論數據存到了 txt 文件中。orm
接着,咱們將評論數據進行詞雲展現,代碼實現以下:
with open("yy.txt", "r", encoding="utf-8") as f: content = f.read() stylecloud.gen_stylecloud(text=content, max_words=600, collocations=False, font_path="SIMLI.TTF", icon_name="fas fa-heart", size=800, output_name="yy.png") Image(filename="yy.png")
最後,經過詞雲看一下用戶對上述軟件的評價狀況。
世紀佳緣:
百合婚戀:
有緣網: