Python爬取豆瓣电影Top250数据

任务

爬取豆瓣电影top250中的影片名称、影片海报、年份、地区、类型、评分、评价人数、总体评价,并输出到douban_top250.xlsx文件中

环境

Python 3.8
requests
bs4
openpyxl

源码

# 创建一个新的Excel工作簿
workbook = openpyxl.Workbook()
# 获取默认的工作表
sheet = workbook.active
# 写入数据
sheet['A1'] = '序号'
sheet['B1'] = '电影名'
sheet['C1'] = '海报'
sheet['D1'] = '年份'
sheet['E1'] = '地区'
sheet['F1'] = '类型'
sheet['G1'] = '评分'
sheet['H1'] = '评价人数'
sheet['I1'] = '总体评价'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
}
index = 1
for start_page in range(0, 250, 25):response = requests.get(f"https://movie.douban.com/top250?start={start_page}", headers=headers)html = response.text# html.parser表示使用html进行解析soup = BeautifulSoup(html, "html.parser")items = soup.find_all("div", attrs={"class": "item"})for item in items:# 海报post = item.find("img").get('src')# 名称name = item.find('span', class_="title").text# 年份infos = item.find('p', class_='').text.split("\n")[2].split("/")year = infos[0].strip()location = infos[1].strip()category = infos[2].strip()rate = item.find('span', class_='rating_num').textstars = item.find('div', class_='star')rate_people = stars.contents[7].text[:-3]review = ""if item.find('span', class_='inq') is not None:review = item.find('span', class_='inq').textsheet.append([index, name, post, year, location, category, rate, rate_people, review])index = index + 1
# 保存工作簿
workbook.save('./files/douban_top250.xlsx')

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/6154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

酒水门店私域流量运营搭建执行规划方案

【干货资料持续更新,以防走丢】 酒水门店私域流量运营搭建执行规划方案 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑(完整资料包含以下内容) 目录 精酿啤酒品牌私域执行运营的内容策划,涉及以下几个…

Messari 报告摘要 :Covalent Network(CQT)2024 年第一季度表现

摘要: 尽管 CQT 代币流通供应量增加了 20%(新增 1.04 亿枚 CQT),但 CQT 的质押百分比仅从 2023 年第一季度的 22% 增长到了 2024 年第一季度的 29%。 CQT 的市值季度环比增长了 28%,多次达到 2.75 亿美元&#xff0c…

全栈开发之路——前端篇(4)watch监视、数据绑定和计算属性

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 辅助文档:HTML标签大全(实时更新&#xff…

Python | Leetcode Python题解之第64题最小路径和

题目: 题解: class Solution:def minPathSum(self, grid: List[List[int]]) -> int:if not grid or not grid[0]:return 0rows, columns len(grid), len(grid[0])dp [[0] * columns for _ in range(rows)]dp[0][0] grid[0][0]for i in range(1, r…

All In ai,Oracle 23C没了,等来了Oracle 23ai

今年一月份的Blog介绍Oracle命名规则的时候,说到Oracle的命名是紧紧跟随时代浪潮的前言科技的,在文章的最后还大胆预测也许Oracle的下一个版本就叫25A了,结果Oracle根本等不及,把原来已经海量宣传的Oracle 23C直接改名为23ai&…

分布式与一致性协议之Raft算法(四)

Raft算法 Raft是如何解决成员变更问题的 在日常工作中,你可能会遇到服务器故障的情况,这时你需要替换集群中的服务器。如果遇到需要改变数据副本数的情况,则需要增加或移除集群中的服务器。总的来说,在日常工作中,集…

如何基于nginx搭建https网站

华子目录 使用nginx的http_ssl模块建立加密传输的网站查看配置文件ssl配置文件的主要参数实验:搭建nginxssl加密认证的web服务器 使用nginx的http_ssl模块建立加密传输的网站 查看 [rootserver ~]# nginx -V #查看是否有--with-http_ssl_module模块,如…

AI时代,如何让ChatGPT成为你最好的编程老师|TodayAI

ChatGPT作为生成式预训练变换器(GPT)系列模型的一种,专门设计用来理解和生成文本,其生成的文本能够高度模仿人类的对话方式。这种能力不仅让它在进行日常对话时表现得像极了真人,还使其在各种专业领域内,比…

TCP四次挥手分析

TCP四次挥手分析 概念过程分析为什么连接的时候是三次握手,关闭的时候却是四次握手?为什么要等待2MSL? 概念 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。 在…

基于深度学习的3D目标检测与跟踪

目标检测和跟踪对于自动驾驶来说是至关重要和基础的任务,旨在从场景中识别和定位出那些预定义类别的对象。在所有形式的自动驾驶数据中,3D点云学习引起了越来越多的关注。目前,有许多用于3D目标检测的深度学习方法。然而,鉴于点云…

【方法】PDF如何取消“限制编辑”?

我们知道,PDF设置“限制编辑”可以用来保护文件,设置后很多功能就会被锁定,比如无法编辑内容,无法打印,另存文件等等,可以看到大多数菜单选项都是灰色状态,无法点击。 那如果后续想要使用锁定的…

启动盘制作

魔术师pe安装教程 我一般使用魔术师来安装windows系统 魔术师pe地址下载 解压后使用 把ios映像文件放入pe系统u盘下 开机按f1,进入bios,将usb接口拉到本电脑,在按f10保存,在按f12即可找到pe的u盘 ventoy安装教程 其他系统安装我使用ventoy ventoy地…

宇宙最强Windows下载神器IDM,还不快用 互联网下载管理器(IDM)全面评测

互联网下载管理器(IDM)是一款功能强大的下载工具,自 1999 年问世以来,一直以其卓越的性能和稳定性受到用户的喜爱。IDM 可以帮助用户加速下载速度,最高可达 5 倍,同时还具有断点续传、定时下载、自动分类等…

第14章 软件测试过程和管理

一、测试过程模型 (一)组织级测试过程 用于开发和管理组织级测试规格说明。常用的组织级测试规格说明包括组织级测试方针和组织级测试策略。 (二)测试管理过程 1、内容 包括测试管理和动态测试。动态测试:测试设计…

大数据组件之Storm详解

Storm 是一个免费并开源的分布式实时计算系统,具有高容错性和可扩展性。它能够处理无边界的数据流,并提供了实时计算的功能。与传统的批处理系统相比,Apache Storm 更适合处理实时数据。 让我们深入了解一下 Storm: 1.Storm 简介…

超强动画制作软件blender

blender中文手册:Blender 4.1 Manual Blender 是一款集3D建模、渲染、动画、视频编辑、音频处理、游戏设计等多功能于一体的软件。由于其开源性质,它拥有庞大的用户群体和活跃的开发者社区,这使得Blender的功能和性能得到了不断的提升和优化…

【数学建模】2024五一数学建模C题完整论文代码更新

最新更新:2024五一数学建模C题 煤矿深部开采冲击地压危险预测:建立基于多域特征融合与时间序列分解的信号检测与区间识别模型完整论文已更新 2024五一数学建模题完整代码和成品论文获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/gyoz9ou5upv…

NI CRIO 9045 LABVIEW2020

1.labview工程如果要访问CRIO,需要设置以下,否则在项目中连接失败。 2.项目中如果要传文件,需要安装WebDEV 3.使用WebDAV将文件传输到实时(RT)目标 https://knowledge.ni.com/KnowledgeArticleDetails?idkA03q000000YGytCAG&lzh-CN

Redis协议与异步方式

Rredis Pipeline redis pipeline 是一个客户端提供的机制,而不是服务端提供的; pipeline 不具备事务性; 目的:节约网络传输时间; 通过一次发送多次请求命令,从而减少网络传输的时间。 Redis发布订阅 为了支…

下载Node.js及其他环境推荐nvm

文章目录 项目场景:下载Node.js环境配置配置环境变量 安装脚手架安装依赖安装淘宝镜像安装 cnpm(我需要安装)nvm 安装 Node.js (推荐) 项目场景: 提示:这里简述项目相关背景: 项目…