爬虫豆瓣电影top250形成excel表格的算法设计
时间: 2024-12-12 14:12:27 浏览: 8
爬取豆瓣电影Top250并将其信息保存到Excel表格中,可以分为以下几个步骤:
1. **获取网页内容**:
使用Python的requests库发送HTTP请求,获取豆瓣电影Top250的网页内容。
2. **解析网页内容**:
使用BeautifulSoup库解析HTML内容,提取电影的相关信息,如电影名称、评分、评价人数、导演、主演、上映日期等。
3. **存储数据**:
使用pandas库将提取的数据存储到Excel表格中。
4. **处理翻页**:
豆瓣电影Top250分多页展示,需要处理翻页逻辑,循环爬取每一页的数据。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头,模拟浏览器请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
# 存储所有电影信息的列表
movies = []
# 爬取每一页的数据
for page in range(10):
url = f'https://movie.douban.com/top250?start={page * 25}&filter='
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 找到所有的电影条目
movie_items = soup.find_all('div', class_='item')
for item in movie_items:
# 电影名称
title = item.find('span', class_='title').text
# 评分
rating = item.find('span', class_='rating_num').text
# 评价人数
num_reviews = item.find('div', class_='star').find_all('span')[-1].text
# 电影信息
info = item.find('div', class_='bd').p.text.strip().replace('\n', '').replace(' ', '')
# 将数据添加到列表中
movies.append([title, rating, num_reviews, info])
# 将数据存储到Excel表格中
df = pd.DataFrame(movies, columns=['电影名称', '评分', '评价人数', '电影信息'])
df.to_excel('douban_top250.xlsx', index=False)
print("爬取完成,数据已保存到douban_top250.xlsx")
```
阅读全文