Python第三个项目:爬取豆瓣《哪吒之魔童降世》 短评

前面爬完网站信息图片之后,今天的又有了个小目标,最近的电影哪吒很火,去豆瓣上看了一下 影评,决定了今天主要是实现Python第三个项目:爬取豆瓣《哪吒之魔童降世》 短评,然后下载在excel表格里面查看。

目标链接:https://movie.douban.com/subject/26794435/comments

在网上找了一个开源的小例子,但是豆瓣的网页结构以及有所调整,爬到的时间和评论都是空的,对代码进行了一些修改,可以爬取豆瓣最新的网页里面某部电影的短评,如果需要其他电影短评,直接改一下参数链接即可。

#_*_coding:utf-8_*_
import requests
import re
import csv
import time
from lxml import etree

def get_one_page(url):
   try:
       headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'}
       response = requests.get(url,headers=headers,timeout=10)
       if response.status_code == 200:
           # print(response.text)
           return response
       return None
   except EOFError as e:
       print(e)
       return None


def parse_one_page(res,info):
   info = []
   res = etree.HTML(res.content.decode())
   nodes_list = res.xpath('//div[@class="comment-item"]')
   for node in nodes_list:
       comic = {}
       comic['User'] = node.xpath('.//span[@class="comment-info"]/a/text()')[0].strip()
       comic['Time'] = node.xpath('.//span[@class="comment-info"]/span[3]/text()')[0].strip()
       comic['Comment'] = node.xpath('.//span[@class="short"]/text()')[0].strip()
       print(comic)
       info.append(comic)
   return info


def write_to_file(info):
    with open('《哪吒之魔童降世》短评.csv','a',newline='') as f:
       fieldnames = ['User','Time','Comment']
       writer = csv.DictWriter(f,fieldnames=fieldnames)
       writer.writeheader()
       try:
           writer.writerows(info)
       except:
           pass


def main(start):
   info = {}
   url = 'https://movie.douban.com/subject/26794435/comments?start=' + str(start) + '&limit=20&sort=new_score&status=P&percent_type='
   html = get_one_page(url)
   data = parse_one_page(html,info)
   write_to_file(data)


if __name__ == '__main__':
   for i in range(10):
       main(i*20)
       print('第{}本页采集完毕。'.format(str(i))) # 采集完一页后的标识
       time.sleep(1) # 采集完一页休息一秒

运行之后


自动生成了一个excel的表格


下载表格,打开查看,按照顺序把网页上的短评都抓取下来啦。


参考链接:https://zhuanlan.zhihu.com/p/36584668

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚,欢迎关注【编程微刊】公众号,回复【领取资源】,500G编程学习资源干货免费送。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容