Python抓取豆瓣电影Top250

news/2025/1/8 23:49:18/

文章简介

在本篇文章中,我们将探讨如何利用Python编程语言中的requests库和BeautifulSoup库来抓取豆瓣网站上电影Top250的数据信息。通过本文的学习,读者将掌握基本的网络爬虫技巧,了解如何解析HTML文档,以及怎样高效地处理和存储抓取到的数据。

1. 前言

简要介绍为什么选择豆瓣Top250作为抓取目标,以及这项任务可能带来的价值或学习点。

2. 准备工作

安装必要的库

pip install requests beautifulsoup4

3. 详细代码

python">import requests
from bs4 import BeautifulSoup
import timeheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
}# 定义函数来获取并解析单页内容
def fetch_page(start):url = f'https://movie.douban.com/top250?start={start}'try:response = requests.get(url, headers=headers)response.raise_for_status()  # 如果响应状态码不是200,抛出HTTPErrorreturn response.textexcept requests.RequestException as e:print(f"An error occurred: {e}")return None# 定义函数来解析HTML并提取电影信息
def parse_html(html):soup = BeautifulSoup(html, 'html.parser')movies = []for item in soup.select('div.item'):title = item.find('span', class_='title').get_text()link = item.find('a')['href']movies.append((title, link))return movies# 主程序逻辑
with open('豆瓣电影T250.txt', 'w', encoding='utf-8') as fp:for start in range(0, 250, 25):html = fetch_page(start)if html:movies = parse_html(html)for title, link in movies:fp.write(f'{link}\t{title}\n')  # 写入链接和标题,并添加换行符time.sleep(1)  # 每次请求后等待一秒,以减轻服务器负担print("数据抓取完成")

 


http://www.ppmy.cn/news/1561661.html

相关文章

普及组集训数据结构--并查集

P1551 亲戚 - 洛谷 | 计算机科学教育新生态 并查集就是把所有相关联的量串成一串珠子,抽象来说就是: 把此类相关联的量当作节点,两个节点之间连接一条无向边,所形成的图 例题算法流程: 在此定义“族长”就是一个树的…

Allure 集成 pytest

Allure 是一个强大的测试报告工具,与 pytest 集成可以生成详细的测试报告,包括测试步骤、测试数据、截图、错误堆栈等。 1. 安装 Allure 和相关依赖 安装 pytest-allure-adaptor 插件: pip install allure-pytest确保本地已安装 Allure 工具。…

Elixir语言的正则表达式

Elixir语言中的正则表达式 引言 正则表达式是用于匹配文本模式的一种强大工具。在很多编程语言中,正则表达式被广泛应用于字符串的查找、替换和验证。Elixir作为一门现代化的函数式编程语言,也提供了对正则表达式的支持,方便开发者进行复杂…

HTML——61. 单行文本框和密码输入框(主讲input元素的type属性)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>单行文本框和密码输入框</title></head><body><!--input元素的type属性&#xff1a;(必须要有)--> <!--单行文本框:1.type"text"2.可…

Spring boot对接安全证书

Let’s Encrypt 证书 macOS 在 macOS 上可以直接使用 Homebrew 安装 Certbot&#xff0c;并按照以下步骤生成 Let’s Encrypt 证书并配置到 Spring Boot 项目中。 1. 安装 Certbot 在 macOS 上使用 Homebrew 安装 Certbot&#xff1a; brew install certbot2. 使用 Certbo…

大数据技术-Hadoop(四)Yarn的介绍与使用

目录 一、Yarn 基本结构 1、Yarn基本结构 2、Yarn的工作机制 二、Yarn常用的命令 三、调度器 1、Capacity Scheduler&#xff08;容量调度器&#xff09; 1.1、特点 1.2、配置 1.2.1、yarn-site.xml 1.2.2、capacity-scheduler.xml 1.3、重启yarn、刷新队列 测试 向hi…

深入理解 TCP 协议

TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是互联网的核心协议之一&#xff0c;为可靠的数据传输提供了保障。在网络编程中&#xff0c;TCP 常用于应用层协议&#xff08;如 HTTP、SMTP 和 FTP&#xff09;的实现。本文将详细介绍 TCP…

解决“KEIL5软件模拟仿真无法打印浮点数”之问题

在没有外部硬件支持时&#xff0c;我们会使用KEIL5软件模拟仿真&#xff0c;这是是仿真必须要掌握的技巧。 1、点击“Project”&#xff0c;然后点击“Options for target 项目名字”&#xff0c;点击“Device”,选择CPU型号。 2、点击“OK” 3、点击“Target”,勾选“Use Mi…