现需爬取江门地区正在上映的所有电影短评及点赞数,并保存至Excel表中。

  • 红色框是爬取目标
  • 效果图如下:

该爬取数据量较大,建议用代理IP进行爬取,不然爬一次就emo了。。。

import time
import requests
from lxml import etree
import openpyxl# 代理IP设置
proxies = {'https': '144.255.28.185:4364',
}
# 获取热映电影首页响应
url = "https://movie.douban.com/cinema/nowplaying/jiangmen/"
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36 Edg/96.0.1054.53"}
req = requests.get(url, headers=header, proxies=proxies)
html = req.content.decode("utf-8")# XPath解析html
tree = etree.HTML(html)# 获取每部热映电影的id
n = 1
ids_ = []
while True:movie = []movie_id = tree.xpath(f'/html/body/div[3]/div[1]/div/div[1]/div[3]/div[2]/ul/li[{n}]/@id')movie_title = tree.xpath(f'/html/body/div[3]/div[1]/div/div[1]/div[3]/div[2]/ul/li[{n}]/@data-title')if not movie_id:breakelse:movie.append(movie_id)movie.append(movie_title)ids_.append(movie)n += 1
print(f"热映电影共{len(ids_)}部")# 获取每部热映电影
k = 1
for id_ in ids_:print(id_[1][0])data = []try:for i in range(5):url1 = f"https://movie.douban.com/subject/{id_[0][0]}/comments?start={20 * i}&limit=20&status=P&sort=new_score"req1 = requests.get(url=url1, headers=header, proxies=proxies)response1 = req1.content.decode("utf-8")tree = etree.HTML(response1)for j in range(20):comment = tree.xpath(f'//*[@id="comments"]/div[{j + 1}]/div[2]/p/span/text()')person = tree.xpath(f'//*[@id="comments"]/div[{j + 1}]/div[2]/h3/span[1]/span/text()')lists = [comment, person]data.append(lists)k += 1except Exception:print(f"{id_[1][0]}爬取失败")# 保存数据到excel表print("save...")try:wb = openpyxl.load_workbook('.\\江门热门影片.xlsx')except Exception:wb = openpyxl.Workbook()# sheet = book.add_sheet(f"{id_[1][0]}", cell_overwrite_ok=True)sheet = wb.create_sheet(title=f"{id_[1][0]}", index=1)sheet.cell(1, 1).value = "评论"sheet.cell(1, 2).value = "点赞人数"try:if len(data) == 0:continueelse:for k in range(len(data)):print("第%d条" % (k + 1))sheet.cell(k + 2, 1).value = data[k][0][0]sheet.cell(k + 2, 2).value = data[k][1][0]except Exception:continuefinally:wb.save(r'.\\江门热门影片.xlsx')print("休息1秒钟")time.sleep(1)
print(f"成功爬取{k}部电影")

实时爬取豆瓣热映前100短评及点赞相关推荐

  1. Python爬取豆瓣热映电影

    Python爬取豆瓣热映电影 # encoding: utf-8import requests from lxml import etree# 1. 将目标网站上的页面抓取下来 headers = { ...

  2. 爬虫学习笔记(三)——利用JSON爬取豆瓣热映的使用

    系列文章目录 爬虫学习笔记(一):requests基础用法之爬取各类主流网站1 爬虫学习笔记(二):requests基础用法之爬取各类主流网站2 文章目录 系列文章目录 前言 一.JSON是什么? 二 ...

  3. 第一部分-实时爬取WeiBo热搜

    python实时爬取微博热搜 文章只做简单记录和放出完整代码,详细内容可以一起讨论 第一步lxml方法获取内容 从站内找到的方法,xpath.py代码如下 import requests from l ...

  4. Python语言实现用requests和正则表达式方法爬取猫眼电影排行榜前100部电影

    #爬取猫眼电影排名前100的电影 import requests #电脑向服务器发送的请求库 from requests.exceptions import RequestException impo ...

  5. 爬虫(2)-解析库xpath和beautifulsoup爬取猫眼电影排行榜前100部电影

    解析库爬取猫眼电影前100部电影 认为有用的话请点赞,码字不易,谢谢. 其他爬虫实战请查看:https://blog.csdn.net/qq_42754919/category_10354544.ht ...

  6. 爬虫(1)-正则化表达式爬取猫眼电影排行榜前100部电影

    爬取猫眼电影排行榜前100部电影 文章目录 爬取猫眼电影排行榜前100部电影 1.抓取首页 2.正则化表达式提取信息 3.保存到文件中 4.抓取前100部电影 认为有用的话请点赞,码字不易,谢谢. 其 ...

  7. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)

    今天我们来爬取一下豆瓣网上排名前250的电影. 需求:爬取豆瓣网上排名前250的电影,然后将结果保存至一个记事本里. 开发环境: python3.9 pycharm2021专业版 我们先观察网页,看看 ...

  8. python爬虫(一)爬取豆瓣电影排名前50名电影的信息

    python爬虫(一)爬取豆瓣电影排名前50名电影的信息 在Python爬虫中,我们可以使用beautifulsoup对网页进行解析. 我们可以使用它来爬取豆瓣电影排名前50名的电影的详细信息,例如排 ...

  9. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)

    在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...

最新文章

  1. 计算机图形学----基于3D图形开发技术 (韩正贤 著)
  2. linux tomcat 隐藏版本号
  3. 项目Beta冲刺Day3
  4. Java泛型的PECS原则
  5. 第二阶段团队项目冲刺第五天
  6. 导航猫(NaviCat for MySql)建立表的方法
  7. PowerDesigner如何导出SQL
  8. 开发核酸检测软件方案书
  9. TI DSP C64X 优化基本方法
  10. 2019年全国大学生电子竞赛 | 电磁炮制作教程
  11. flask之session、cookie摘抄笔记
  12. Loadrunner报错汇总
  13. pytorch之数据:pack_padded_sequence()与pad_packed_sequence()
  14. 计算机进入不了管理器,电脑没有桌面且任务管理器打不开怎么办
  15. wim工具扫描linux磁盘,[V1.30.2011.501版]WimTool -- Wim文件的图形视窗处理工具[无忧首发]...
  16. Fresher的烦恼
  17. eclipse-svn插件
  18. 986-Golang的chan数据结构
  19. java遍历mysql数据库_java mysql 遍历
  20. Django中视图和URL中的常用方法

热门文章

  1. SunOS 操作命令及linux区别
  2. Linux相关知识的第十一回合
  3. dnf丢失clientbase_LolClientBase.dll下载
  4. 用Arduino让无源蜂鸣器响起来,并演奏《葫芦娃》。
  5. 图像噪声(MATLAB)
  6. 微信小程序实现点赞气泡效果
  7. 安卓推送平台选择及接入简介
  8. win7 双屏 任务栏扩展工具 Dual Monitor Taskbar
  9. Java项目:JSP民宿预订网站信息管理平台
  10. 易客——无线点餐系统