1. 需求说明
本项目基于Python爬虫,爬取豆瓣电影上关于复仇者联盟3的所有影评,并保存至本地文件。然后对影评进行分词分析,使用词云生成树人格鲁特的形象照片。
2. 代码实现
此部分主要解释Python爬虫部分及使用词云生成图像的代码
Python爬虫
首先获取需要爬取的网页地址,然后通过requests.get()方式去获取网页,代码如下:
# 获取网页
def getHtml(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
return r.text
except:
return ''
获取到网页之后,对网页中的元素进行正则匹配,找到评论相关的元素,并获取。
# 获取某个网页中的影评
def getComment(html):
soup = BeautifulSoup(html, 'html.parser')
comments_list = []
comment_nodes = soup.select('.comment > p')
for node in comment_nodes:
comments_list.append(node.get_text().strip().replace("\n", "") + u'\n')
return comments_list
将爬取到的影评保存至文本文件中,以备后续分析使用。
def saveCommentText(fpath):
pre_url = "https://movie.douban.com/subject/24773958/comments?"
depth = 8
with open(fpath, 'a', encoding='utf-8') as f:
for i in range(depth):
url = pre_url +