Python实现豆瓣电影数据爬取指南
目录
1. 安装必要的库
2. 爬取豆瓣电影数据
爬取豆瓣电影数据是一个很有意思的项目。下面是使用 Python 中的
requests和BeautifulSoup库来爬取豆瓣电影数据的一个简单示例。
1. 安装必要的库
首先,确保安装了以下库:
pip install requests
pip install beautifulsoup4
2. 爬取豆瓣电影数据
import requests
from bs4 import BeautifulSoup
# 定义函数,用于获取指定URL页面中的电影信息
def get_movie_info(url):
# 设置请求头,模拟浏览器访问,避免被网站识别为爬虫而拒绝请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 发送HTTP GET请求到指定URL,并传递请求头
response = requests.get(url, headers=headers)
# 检查响应的状态码是否为200,表示请求成功
if response.status_code == 200:
# 使用BeautifulSoup解析响应的HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 查找所有包含电影信息的div元素,其类名为 'item'
items = soup.find_all('div', class_='item')
# 遍历每个电影信息的div元素
for item in items:
# 提取电影名称,它位于类名为 'title' 的span元素中
title = item.find('span', class_='title').text
# 提取电影评分,它位于类名为 'rating_num' 的span元素中
rating = item.find('span', class_='rating_num').text
# 提取电影简介,它位于类名为 'inq' 的span元素中
quote = item.find('span', class_='inq')
# 如果简介存在,则获取其文本内容;否则,将简介设为 '暂无简介'
quote = quote.text if quote else '暂无简介'
# 打印电影名称
print(f'电影名称: {title}')
# 打印电影评分
print(f'评分: {rating}')
# 打印电影简介
print(f'简介: {quote}')
# 打印分隔线,用于区分不同电影的信息
print('-' * 50)
else:
# 如果请求失败,打印失败信息和状态码
print(f'请求失败,状态码: {response.status_code}')
if __name__ == "__main__":
# 豆瓣电影Top250的基础URL
base_url = 'https://movie.douban.com/top250'
# 循环遍历每一页,每页25条记录,共10页
for start in range(0, 250, 25):
# 构建当前页的URL
url = f'{base_url}?start={start}'
# 调用get_movie_info函数获取当前页的电影信息
get_movie_info(url)
注意:获取user-agent的办法
1.打开你要爬取的网页 右键点击检查

之后介绍就是这样一个页面 点击网络那一栏

此时点击之后是这样的

我们来刷新一下界面

随便点击一个 然后向下滑动就得到可用的user-agent了
作者:首尔的初雪是眼泪