当前位置: 首页 > news >正文

【python爬虫】—豆瓣电影Top250

豆瓣电影Top250

  • 豆瓣榜单简介
  • 需求描述
  • Python实现

豆瓣榜单简介

  • 豆瓣电影 Top 250 榜单是豆瓣网站上列出的评分最高、受观众喜爱的电影作品。这个榜单包含了一系列优秀的影片,涵盖了各种类型、不同国家和时期的电影。

需求描述

  • 使用python爬取top250电影,获取相应电影排名,电影名,星级, 打分和评论人数信息,将信息输出到Excel表格中。

Python实现

  • 获取爬取网页
def download_all_htmls(index = list(range(0, 250, 25))):htmls = []for idx in index:url = f"https://movie.douban.com/top250?start={idx}&filter="print("craw html:", url)# 豆瓣具有反爬虫机制,添加headersheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}r = requests.get(url, headers = headers)if r.status_code != 200:raise Exception("error")htmls.append(r.text)return htmls
  • 解析得到单个网页内容
def parse_single_heml(html):soup = BeautifulSoup(html, 'html.parser')article_items = soup.find('div', class_='article')\.find('ol', class_='grid_view')\.find_all('div', class_='item')datas = []for article_item in article_items:rank = article_item.find('div', class_='pic').find('em').get_text()info = article_item.find('div', class_='info')title = info.find('div', class_='hd').find('span', class_='title').get_text()stars = info.find('div', class_='bd').find('div', class_='star').find_all('span')rating_star = stars[0]["class"][0]rating_num = stars[1].get_text()comments = stars[3].get_text()datas.append({'rank': rank,'title': title,'rating_star': rating_star.replace("rating","").replace("-t",""),'rating_num': rating_num,'comments': comments.replace("人评价", "")})return datas
  • 爬取相关内容,并将结果写入Excel
import requests
from bs4 import BeautifulSoup
import pandas as pd
import pprint
import jsonhtmls = download_all_htmls()
all_datas = []
for html in htmls:all_datas.extend(parse_single_heml(html))
df = pd.DataFrame(all_datas)
df.to_excel("practice03_豆瓣电影top250.xlsx", index=False)
  • 结果展示
    在这里插入图片描述

相关文章:

【python爬虫】—豆瓣电影Top250

豆瓣电影Top250 豆瓣榜单简介需求描述Python实现 豆瓣榜单简介 豆瓣电影 Top 250 榜单是豆瓣网站上列出的评分最高、受观众喜爱的电影作品。这个榜单包含了一系列优秀的影片,涵盖了各种类型、不同国家和时期的电影。 需求描述 使用python爬取top250电影&#xff…...

【跟小嘉学 Rust 编程】十五、智能指针

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...

Python爬虫基础之正则表达式

目录 一、什么是正则表达式? 二、re.compile()编译函数 三、group()获取匹配结果函数 四、常用匹配规则 4.1匹配单个字符 4.2匹配前字符次数 4.3匹配原生字符串 4.4匹配字符串开头和结尾 4.5分组匹配 五、re.match()开头匹配函数 六、re.search()全文搜索…...

【LeetCode】双指针妙解有效三角形的个数

Problem: 611. 有效三角形的个数 文章目录 题目分析讲解算法原理复杂度Code 题目分析 首先我们来分析一下本题的思路 看到题目中给出的示例 题目的意思很简单,就是将给到的数字去做一个组合,然后看看这三条边是否可以构成三角形。那判断的方法不用我说&a…...

mysql 计算两点之间距离

先说一下我们可能会用到的一些场景,这样同学们可以先评估,该篇文章是否对你有帮助! 场景: 假设 美团,我点外卖时,系统会让我先进行定位,比如我定位在了 A 点,系统就会给我推荐&…...

c语言自定义头文件是什么情况下使用?一般在什么情况下引用自定义的头文件?一般在自定义头文件中写什么代码?

c语言自定义头文件是什么情况下使用?一般在什么情况下引用自定义的头文件?一般在自定义头文件中写什么代码? C语言自定义头文件是一种用来封装函数和变量声明的文件,它通常用于将一组相关的函数和变量的声明集中在一个地方&#…...

electron应用打包成功纪念一下

electron应用打包成功纪念一下,以前曾经行过后来打包各种报错,现在有空就尝试解决一下 首先安装nvm能够方便切换node版本 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash 顺利安装后你用nvm list查看node列表时会…...

远程办公中安全远程访问解决方案

什么是安全远程访问 安全的远程访问是一个至关重要的过程,可让您使用互联网从远处完全控制某人的设备。为了确保安全,为受保护的远程访问采取了额外的身份验证和加密措施。 为什么安全远程访问解决方案很重要 当 IT 技术人员从远处帮助人们解决计算机…...

StartUp启动框架-Android启动性能

简述 当谈论Android应用程序的启动性能时,StartUp启动框架是一个不可忽视的关键工具。它旨在优化应用程序的启动过程,确保用户在打开应用时能够迅速获得流畅、高效的体验。让我们来深入了解StartUp框架的作用和重要性,以及它是如何改善Andro…...

Positive Technologies:五分之四的网络攻击具有针对性

Positive Technologies 对 2023 年第二季度的相关网络威胁进行了分析。报告显示,自今年年初以来,有针对性的攻击数量增加了 10%,目前占 78%。专家们注意到利用漏洞的大规模攻击和大量用户个人数据的泄露。此外,在此期间&#xff0…...

clickhouse的另类表引擎

clickhouse常用的MergeTree引擎外,还有特殊的引擎 1,memory引擎,顾名思义,数据是存储在内存中,数据不会被压缩也不会倍格式化转换数据在内存中保存的形态与查询时看到的如出一辙,重启ck数据丢失 2&#xff…...

Uniapp新版本打包后覆盖安装,新增的页面无法跳转,需退出重新启动才可以打开的解决方案

最近写uniapp项目,发现一个坑,在新版本覆盖安装后直接打开APP,新增的页面竟然无法跳转,需要重新启动才可以正常打开,在网上查了很多方法,最终总结下来有以下几点: 1.看打的是debug包还是releas…...

系统架构设计高级技能 · 面向服务架构设计理论与实践

点击进入系列文章目录 系统架构设计高级技能 面向服务架构设计理论与实践 一、SOA的相关概念1.1SOA的定义1.2 业务流程与业务流程执行语言 二、SOA的发展史三、SOA与微服务的区别三、SOA的参考架构四、SOA的主要协议规范五、SOA的设计标准要求六、SOA的作用与设计原则七、SOA的…...

QT注册界面练习(信号与槽实现页面跳转)

一、注册界面练习思路以及具体代码 在完成注册页面搭建的前提下,通过信号与槽机制实现多组件之间的相互通信,实现页面跳转。 基本步骤: 首先,将注册页面的登录按钮与成功登陆信号绑定,当用户名与密码均匹配时&#xf…...

MySQL从入门到精通【进阶篇】之 主从复制详解

文章目录 0.前言1. 主从复制简介2. 主从复制的工作流程主从复制过程中的日志文件作用(Binary Log)和中继日志(Relay Log) 3. MySQL主从复制的配置4. 参考资料 0.前言 MySQL的主从复制和读写分离是数据库领域的基本概念&#xff0…...

vue使用qrcodejs2生成二维码

目录 概要 构建展示的vue组件qrcode.vue 组件的使用 概要 项目中用到需要展示二维码的样式&#xff0c;想到了qrcode 例如&#xff1a; 前提&#xff1a;安装包 npm install qrcodejs2 --save 构建展示的vue组件qrcode.vue <template><div style"width: …...

python注释

任何编程语言都少不了注释&#xff0c;Python也不例外&#xff0c;以下是Python注释的具体用法&#xff1a; 单行注释 Python编程语言的单行注释常以#开头&#xff0c;单行注释可以作为单独的一行放在被注释代码行之上&#xff0c;也可以放在语句或者表达式之后。 实例&…...

update-alternatives详解

1.功能作用 update-alternatives是dpkg的实用工具&#xff0c;用来维护系统命令的符号链接&#xff0c;以决定系统默认使用什么命令。 在Debian系统中&#xff0c;我们可能会同时安装有很多功能类似的程序和可选配置&#xff0c;如Web浏览器程序(firefox&#xff0c;konquero…...

JavaScript 编写更好的条件语句

在任何编程语言中&#xff0c;代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。 例如&#xff0c;在一个游戏中&#xff0c;如果玩家生命点为0&#xff0c;游戏结束。在天气应用中&#xff0c;如果在早上被查看&#xff0c;显示一个日出图片&#xff0c;如…...

聊聊PBE算法

序 本文主要研究一下PBE算法 PBE PBE即Password Based Encryption&#xff0c;基于口令的加密&#xff0c;它是一种组合算法&#xff0c;即一般是哈希对称算法&#xff0c;比如PBEWithMD5AndDES&#xff0c;就是用MD5做哈希&#xff0c;用DES做加解密&#xff0c;而其密钥则…...

Kazumi:自定义规则驱动的动漫资源聚合与播放方案

Kazumi&#xff1a;自定义规则驱动的动漫资源聚合与播放方案 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP&#xff0c;支持流媒体在线观看&#xff0c;支持弹幕。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi Kazumi作为一款基于自定义规则的开源番剧…...

OnTopReplica组切换模式揭秘:自动轮换多个监控窗口的完整指南

OnTopReplica组切换模式揭秘&#xff1a;自动轮换多个监控窗口的完整指南 【免费下载链接】OnTopReplica A real-time always-on-top “replica” of a window of your choice (on Windows). 项目地址: https://gitcode.com/gh_mirrors/on/OnTopReplica OnTopReplica是一…...

告别显卡驱动残留困扰:Display Driver Uninstaller的深度清理全解析

告别显卡驱动残留困扰&#xff1a;Display Driver Uninstaller的深度清理全解析 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers…...

Buildah多平台容器构建终极指南:使用QEMU跨架构构建Docker镜像

Buildah多平台容器构建终极指南&#xff1a;使用QEMU跨架构构建Docker镜像 【免费下载链接】buildah A tool that facilitates building OCI images. 项目地址: https://gitcode.com/gh_mirrors/bu/buildah Buildah作为专业的OCI镜像构建工具&#xff0c;为开发者提供了…...

深入XFS文件系统:从一次CentOS 7的Internal error报错,聊聊xfs_repair背后的原理与避坑指南

深入XFS文件系统&#xff1a;从Internal error报错到修复原理与实战指南 当你在一台运行CentOS 7的生产服务器上看到"XFS_WANT_CORRUPTED_GOTO"这个鲜红的报错信息时&#xff0c;作为运维工程师的肾上腺素会立刻飙升。这不是一个普通的I/O错误&#xff0c;而是XFS文件…...

Attention Unet vs Unet++:在Camvid数据集上的性能对比实验

Attention Unet与Unet在Camvid数据集上的深度性能评测 语义分割作为计算机视觉领域的核心任务之一&#xff0c;其模型架构的创新从未停止。在众多改进方案中&#xff0c;Attention机制与嵌套跳跃连接&#xff08;Nested Skip Connection&#xff09;分别代表了两种不同的优化思…...

金仓V9智能运维揭秘:如何用国产数据库实现分钟级部署与自动化备份

金仓V9智能运维实战&#xff1a;从分钟级部署到自动化备份的全流程解析 在数字化转型浪潮中&#xff0c;数据库作为企业核心基础设施&#xff0c;其运维效率直接影响业务连续性。金仓数据库V9全平台版凭借智能运维体系&#xff0c;正在重新定义国产数据库的管理标准。本文将深入…...

如何评价目前主流的AI论文生成软件?哪一款最好用?

目前主流 AI 论文工具已形成清晰的中文全流程、英文国际、文献 / 润色专项三大阵营&#xff0c;PaperRed、毕业之家是中文论文全流程首选&#xff0c;ChatGPT-4o、Claude 3.7适合英文与深度逻辑&#xff0c;Kimi、Elicit专攻文献处理。没有绝对 “最好”&#xff0c;只有最适配…...

TeslaMate终极指南:如何打造专属的特斯拉数据分析平台

TeslaMate终极指南&#xff1a;如何打造专属的特斯拉数据分析平台 【免费下载链接】teslamate teslamate-org/teslamate: TeslaMate 是一个开源项目&#xff0c;用于收集特斯拉电动汽车的实时数据&#xff0c;并存储在数据库中以便进一步分析和可视化。该项目支持监控车辆状态、…...

C# + Halcon实战:药盒上多个条形码一次扫全的配置与代码详解(.NET Framework 4.8)

C# Halcon实战&#xff1a;药盒多条形码高精度识别系统开发指南 在药品包装生产线上&#xff0c;一个药盒往往同时印有追溯码、物流码和防伪码等多种条形码。传统扫码设备通常需要多次定位才能完成读取&#xff0c;而基于Halcon的机器视觉方案能实现毫秒级的多码同步识别。本文…...