人3:小2怎么了?一张悲伤的脸。小二:哦!不是过年了吗,家里又催相亲了……小三:现在不是很流行网恋吗,你可以试试相亲软件。小二:这东西靠谱吗?小三:我也没用过,大家可以自己去软件评论区看看。小二:这个……不过只能先去评论区看看。本文以360手机助手为例,地址为:http://zhushou.360.cn/,选择3款热门交友软件,分别是:世纪佳缘、百合婚恋、友缘网,我们使用Python爬取软件评论区,查看用户评价。首先我们来看一下这三款软件的下载量和好评、中差评的占比(下图中的单位是万次)。下面开始爬取评论区。以佳园为例。首先在搜索框中输入佳缘进行搜索,如图:然后,点击搜索到的软件,进入其详情页面,如图:页面下拉即可看到评论区,如图图:这时候打开开发者工具选择Network项,点击查看更多评论,然后就可以看到getComments请求,如图:通过这个请求,我们可以动态获取其中的数据评论区,其中参数star为起始评论索引,参数count为每次加载的评论条数,可以通过参数callback和baike指定不同的应用。爬虫代码实现如下: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(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/57.0.2987.98Safari/537.36LBBROWSER"}defcomment_spider(param,file_name):base_url="http://comment.mobilem.360.cn/comment/getComments?c=message&a=getmessage&&count=50"start=0foriinrange(1,50):print("Page{}".format(i))url=base_url+param+"&start="+str(start)r=requests.get(url,headers=headers)data=re.findall("{\"errno\"(.*)\);}catch\(e\){}",r.text)#转换为J儿子格式jdata=json.loads("{\"errno\""+data[0])formessageinjdata["data"]["messages"]:content=message["content"]print(content)withopen(file_name+".txt","a",encoding="utf-8")asf:f.write(content)start=start+50time.sleep(2)我们将爬取的评论数据保存在Next中txt文件,我们将评论数据显示为词云。代码实现如下:withopen("yy.txt","r",encoding="utf-8")asf:content=f.read()stylecloud.gen_stylecloud(text=content,max_words=600,collocations=False,font_path="SIMLI.TTF",icon_name="fasfa-heart",size=800,output_name="yy.png")Image(filename="yy.png")最后看看用户的评价以上软件通过词云。世纪佳缘:百合婚恋:游缘网:小二:看了游缘网的评论,感觉交友软件没机会了……小三:……源码获取自公众号Python小二后台回复201207免责声明:本文不构成对上述交友软件的任何使用建议。
