使用jupyter爬取豆瓣电影TOP100电影信息
时间: 2024-11-06 12:21:39 浏览: 64
在Jupyter Notebook中爬取豆瓣电影Top 100的信息通常涉及以下几个步骤:
1. **导入所需库**:
需要使用`requests`库来发送HTTP请求,`BeautifulSoup`库来解析HTML内容,以及`pandas`库来存储和处理数据。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
```
2. **获取网页源码**:
使用`requests.get`函数向豆瓣电影Top 100页面发送GET请求。但由于这个信息不是直接通过API获取,而是网站静态展示,我们需要访问豆瓣电影的URL(如`https://movie.douban.com/top250`),然后解析HTML获取数据。
3. **HTML解析**:
用BeautifulSoup解析返回的HTML文档,找到包含电影信息的部分。这可能涉及到选择特定CSS类名或ID来定位元素。
```python
url = "https://movie.douban.com/top250"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
```
4. **提取信息**:
找到每个电影条目的标题、评分、导演、演员等信息,并添加到一个列表或字典中。这可能需要遍历HTML结构,查找特定标签内的文本。
5. **转换为DataFrame**:
使用pandas将提取的数据结构化,创建一个DataFrame,方便后续分析和可视化。
```python
movies_data = []
for movie in soup.find_all('div', class_='hd'):
title = movie.h3.a.text
rating = movie.strong.text
director = None # 根据页面结构查找导演信息
actors = None # 同样查找演员信息
movies_data.append({
'title': title,
'rating': rating,
'director': director,
'actors': actors
})
top_movies = pd.DataFrame(movies_data[:100])
```
6. **保存结果**:
最后,可以将DataFrame保存为CSV文件或直接显示在Notebook中。
```python
top_movies.to_csv('douban_top_100_movies.csv', index=False)
top_movies.head() # 显示前几行数据
```
注意:爬取网站数据时,请遵守网站的robots.txt规则,并尊重版权,可能需要设置用户代理以避免被识别为爬虫。
阅读全文