豆瓣电影top250数据爬虫
时间: 2023-11-28 12:05:42 浏览: 172
python爬虫豆瓣电影Top250数据分析与可视化(应用Flask框架、Echarts、WordCloud等技术).zip
以下是使用Python爬取豆瓣电影Top250数据的步骤:
1. 导入所需的库,包括requests、BeautifulSoup和pandas。
2. 使用requests库向豆瓣电影Top250网页发送请求,并获取响应。
3. 使用BeautifulSoup库解析响应内容,提取出电影名称、评分、导演、主演、年份、国家和类型等信息。
4. 将提取出的信息存储到pandas的DataFrame中,并将DataFrame保存为CSV文件。
5. 可以使用多线程或异步请求等技术来提高爬取速度。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 发送请求并获取响应
url = 'https://movie.douban.com/top250'
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'}
response = requests.get(url, headers=headers)
# 解析响应内容
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.find_all('div', class_='info')
data = []
for movie in movies:
title = movie.find('span', class_='title').text
rating = movie.find('span', class_='rating_num').text
director = movie.find('p').text.split('\n')[1].strip().split(':')[1]
actors = movie.find('p').text.split('\n')[2].strip().split(':')[1]
year = movie.find('p', class_='').text.split('\n')[1].strip().split('/')[0]
country = movie.find('p', class_='').text.split('\n')[1].strip().split('/')[1]
genre = movie.find('p', class_='').text.split('\n')[1].strip().split('/')[2]
data.append([title, rating, director, actors, year, country, genre])
# 存储数据到CSV文件
df = pd.DataFrame(data, columns=['电影名称', '评分', '导演', '主演', '年份', '国家', '类型'])
df.to_csv('douban_top250.csv', index=False, encoding='utf-8-sig')
# 输出前10条数据
print(df.head(10))
```
阅读全文