贴吧评论敏感词识别及情感分析初级实现之评论获取
分三个模块实现贴吧评论敏感词识别及情感分析研究:“评论爬虫抓取”、“评论敏感词识别”、“评论情感分析(积极或消极)”。数据存储于MongoDB中,现设数据库“spiders”,数据集合users。其余两个模块见本人博文。
在贴吧评论敏感词识别及情感分析初级实现里,只涉及最基础的知识,未进行代码的升级以及相应模块的技术完善。
评论爬虫抓取
数据获取实现
因受限于语料库(“网上购酒体验评论”),现只爬取与语料库相关内容的帖子,如https://tieba.baidu.com/p/6105007639。该模块旨在通过贴吧URL,爬虫抓取全部页面中网民的头像、网名、发表言论以及发表时间。该模块通过分析网页URL,采用递进方式对贴吧特定主题“网上商城购酒体验”(https://tieba.baidu.com/p/6105007639)进行抓取,如:
网页1:https://tieba.baidu.com/p/6105007639?pn=1,
网页2:https://tieba.baidu.com/p/6105007639?pn=2,…
网页n:https://tieba.baidu.com/p/6105007639?pn=n
因此首先获取主题总页数,然后构建该主题下存在的所有网页URL 并对其进行数据抓取。
评论爬虫抓取的数据流图如下所示:
抓取的数据只存储于users集合中,且users集合的组成为:users(username,image,page,time)。
(1)利用网页节点属性获取帖子中的总页数。
from pyquery import PyQuery as pq
#获取总页数
def gettotalpage(url):
url=url+str(1)
doc=pq(url=url)
temp = []
for item in doc('.l_reply_num .red').items