爬取豆瓣电影分类排行榜

本文介绍如何爬取豆瓣电影排行榜中的传记类电影信息。首先确定目标网址,通过Chrome开发者工具分析请求URL。接着,使用Python的requests库发起请求,获取JSON格式的响应数据。通过解析JSON数据,提取出电影标题和评分,存储到文本文件中。这个简单案例适合Python爬虫初学者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

确定目标网址:豆瓣电影排行榜

使用Google浏览器打开目标网址,右侧选择分类“传记”,按F12打开开发者工具,会打开如下界面:左侧是数据内容,右侧是网页源代码信息。注:由于该页面是动态的,我们需要将右侧页面内容滚动到最后,然后单击"Name"中的最后一个数据包。

接着,按如下顺序依次操作,其中“Request URL”是我们后面需要的请求页面地址。

完成基本的网页分析和相关参数后,下面我们进入正题:

第一步:导入requests包和json,代码如下:

import requests
import json  # 用于处理json格式数据的模块

url = 'https://movie.douban.com/j/chart/top_list' 
爬取豆瓣电影排行榜爱情分类前10页,你可以按照以下步骤进行操作: 1. 导入必要的库:requests、BeautifulSoup和pandas。 2. 构造URL链接,循环遍历前10页的链接。 3. 使用requests库获取每个页面的HTML代码。 4. 使用BeautifulSoup库解析HTML代码,获取电影信息。 5. 将电影信息存储到pandas的DataFrame中。 6. 将DataFrame保存为CSV文件。 具体的代码实现可以参考以下范例: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 构造URL链接 urls = ['https://movie.douban.com/top250?start={}&filter='.format(i*25) for i in range(10)] # 定义空的DataFrame df = pd.DataFrame(columns=['电影名称', '导演', '主演', '年份', '评分', '评价人数', '电影链接']) # 循环遍历每个页面 for url in urls: # 获取HTML代码 response = requests.get(url) html = response.text # 解析HTML代码 soup = BeautifulSoup(html, 'html.parser') movie_list = soup.find('ol', class_='grid_view').find_all('li') # 遍历每个电影信息 for movie in movie_list: # 获取电影名称、导演、主演、年份、评分、评价人数和电影链接 title = movie.find('span', class_='title').text director = movie.find('div', class_='bd').find('p').text.split('\n')[1].strip().split(':')[1].strip() actors = movie.find('div', class_='bd').find('p').text.split('\n')[2].strip().split(':')[1].strip() year = movie.find('div', class_='bd').find('p').text.split('\n')[0].strip().split('/')[0] rating = movie.find('span', class_='rating_num').text rating_num = movie.find('div', class_='star').find_all('span')[-1].text[:-3] link = movie.find('a')['href'] # 将电影信息存储到DataFrame中 df = df.append({'电影名称': title, '导演': director, '主演': actors, '年份': year, '评分': rating, '评价人数': rating_num, '电影链接': link}, ignore_index=True) # 将DataFrame保存为CSV文件 df.to_csv('douban_movie_top250.csv', index=False) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值