由漫威电影公司出品的科幻电影<复仇者联盟3:无限战争>,于2018年5月11日在中国大陆上映,得到了观众的广泛好评,今天我们一起来看看网友们看完后的心得.
下面是爬取到的部分数据:
下面是完整代码:
环境:Python3.6
import requests
import re
import time
import os
import xlsxwriter
# 用于记录写入数据的条数
data_cursor = 1
# 创建工作文件
def write_data():
# 删除文件
if os.path.exists('./复仇者联盟3评论信息.xlsx'):
os.remove('复仇者联盟3评论信息.xlsx')
# 创建工作文件
workbooke = xlsxwriter.Workbook('复仇者联盟3评论信息.xlsx')
# 创建工作表
worksheet = workbooke.add_worksheet()
# 写标题
worksheet.write(0, 0, '是否有用')
worksheet.write(0, 1, '是否看过')
worksheet.write(0, 2, '作者')
worksheet.write(0, 3, '时间')
worksheet.write(0, 4, '内容')
return workbooke, worksheet
def main():
global data_cursor
try:
page_num = int(input("请输入页数:"))
# 创建excel文件
workbooke, worksheet = write_data()
for page in range(page_num):
# 评论url地址
# url = "https://movie.douban.com/subject/4920389/comments?start=" + str(
# page * 20) + "&limit=20&sort=new_score&status=P&percent_type="
url = "https://movie.douban.com/subject/24773958/comments?start=" + str(
page * 20) + "&limit=20&sort=new_score&status=P&percent_type="
# 获取网页源代码
html = requests.get(url)
html.encoding = 'utf-8'
html = html.text
# 正则匹配得到需要的数据
result = re.findall(
r'<a href="javascript:;" class="j a_show_login" onclick="">(.*?)</a>'
r'.*?<a href="https://www.douban.com/.*?" class="">(.*?)</a>'
r'.*?<span>(.*?)</span>'
r'.*?<span class="comment-time " title="(.*?)">.*?</span>'
r'.*?<p class=""> (.*?)</p>',
html, re.S)
# print(result, len(result))
for index, item in enumerate(result):
# 用用 作者 看过 时间 评论内容
# print(item[0], item[1], item[2], item[3], item[4].strip(''))
# 写入数据
worksheet.write(data_cursor, 0, item[0])
worksheet.write(data_cursor, 1, item[2])
worksheet.write(data_cursor, 2, item[1])
worksheet.write(data_cursor, 3, item[3])
worksheet.write(data_cursor, 4, item[4])
data_cursor += 1
print('第{}页完成...'.format(page + 1))
# 每一页之间间隔1秒
time.sleep(1)
except Exception as e:
print(e)
finally:
# 关闭文件对象
workbooke.close()
if __name__ == '__main__':
main()