豆瓣电影短评爬虫
豆瓣电影短评爬虫
工具:Pycharm,win10,Python3.6.4
1.需求分析
需要爬取评论者的ID和评论内容,需求十分的简单。
2.爬虫思路
我们要的数据直接就在网页源码中,只需要获取网页源码,用正则匹配出我们要的信息即可。评论一共有5页,我们需要通过循环去构建5条url。最后数据写入txt中。
代码如下:
from urllib import request
import re
for i in range(0,6):
print('正在获取第 '+str(i+1)+'页')
k = i * 20
# 构造url,进行爬虫
url = 'https://movie.douban.com/subject/25822427/comments?start=' + str(k) + '&limit=20&sort=new_score&status=P'
resp = request.urlopen(url=url)
# 获取网页源码
html = resp.read().decode('utf-8')
#获取评论者ID
names_pattern = re.compile('<a title="(.*?)"',re.S)
names = re.findall(names_pattern,html)
#获取短评
texts_pattern = re.compile('<span class="short">(.*?)</span>',re.S)
texts = re.findall(texts_pattern,html)
duanping_file = open('duanping_file.txt', 'a',encoding='utf-8')
for j in range(len(names)):
print("用户:", names[j])
print("短评", texts[j])
duanping_file.write("用户:" + names[j]+"\n")
duanping_file.write("内容:" +texts[j]+"\n")
duanping_file.close()