爬取豆瓣电影排行榜爱情分类 前10页
时间: 2024-09-30 18:04:56 浏览: 34
为爬取豆瓣电影排行榜爱情分类前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)
```
阅读全文