首页 > 编程知识 正文

用Python爬取豆瓣电影排名

时间:2023-11-21 18:59:58 阅读:304368 作者:RXLF

豆瓣是一个广受欢迎的电影评分平台,而爬取豆瓣电影排名是一个常见的任务。在本文中,我们将使用Python来实现这个目标。通过本文的指导,你将学会如何使用Python编写爬虫代码,从豆瓣网站上获取电影排名信息。

一、准备工作

在开始编写爬虫代码之前,我们需要安装一些必要的库。我们将使用requestsBeautifulSoup库来发送HTTP请求并解析HTML页面。你可以使用以下命令安装这些库:

pip install requests
pip install beautifulsoup4

二、发送HTTP请求

要爬取豆瓣电影排名,我们首先需要发送一个HTTP请求来获取电影列表的网页内容。使用requests库,我们可以很容易地完成这个任务。

import requests

url = 'https://movie.douban.com/chart'
response = requests.get(url)

# 检查请求是否成功
if response.status_code == 200:
    print('请求成功!')
else:
    print('请求失败!')

以上代码中,我们使用get方法发送一个GET请求到豆瓣电影排名的URL,然后检查响应的状态码是否为200。状态码200表示请求成功。

三、解析HTML页面

在成功获取网页内容后,我们需要使用BeautifulSoup库来解析HTML页面,提取电影排名信息。

from bs4 import BeautifulSoup

soup = BeautifulSoup(response.text, 'html.parser')

# 使用CSS选择器来选取电影排名信息
movie_list = soup.select('.indent .pl2')

for movie in movie_list:
    title = movie.select_one('.title').text.strip()
    rating = movie.select_one('.rating_nums').text.strip()
    print(f'电影:{title},评分:{rating}')

以上代码中,我们使用select方法和CSS选择器来选取电影排名信息,并使用select_one方法来获取每个电影的标题和评分。然后我们将它们打印出来。

四、保存数据

如果你想将电影排名信息保存到文件或数据库中,你可以在上面的循环中进行相应的处理。例如,你可以将电影名称和评分保存到一个CSV文件中:

import csv

with open('movie_rank.csv', 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['电影', '评分'])
    for movie in movie_list:
        title = movie.select_one('.title').text.strip()
        rating = movie.select_one('.rating_nums').text.strip()
        writer.writerow([title, rating])

以上代码中,我们使用csv模块来创建一个CSV文件,并将电影名称和评分写入文件中。

五、结语

在本文中,我们学习了如何使用Python爬取豆瓣电影排名。我们首先使用requests库发送HTTP请求来获取网页内容,然后使用BeautifulSoup库解析HTML页面,最后我们将提取的电影排名信息保存到文件中。希望本文能帮助你开始爬取豆瓣电影排名,进一步探索Python爬虫的世界。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。