python爬取豆瓣Top100存入excel代码及操作步骤
时间: 2024-09-16 17:01:12 浏览: 60
在Python中,使用`requests`库获取网页信息,然后利用`BeautifulSoup`解析HTML,最后通过`pandas`将数据保存到Excel文件。以下是基本的步骤和示例代码:
1. 安装必要的库:
```bash
pip install requests beautifulsoup4 pandas openpyxl
```
2. 导入库并设置请求头,因为豆瓣可能会有反爬虫机制:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
```
3. 设置目标URL(豆瓣电影Top250),并获取页面源码:
```python
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)
```
4. 使用BeautifulSoup解析HTML:
```python
soup = BeautifulSoup(response.text, 'lxml')
```
5. 找到需要的数据部分(这里假设是电影标题和评分)并提取出来。这可能需要根据豆瓣的具体结构进行调整:
```python
titles = []
ratings = []
for film in soup.select('.title'):
titles.append(film.text.strip())
ratings.append(int(film.find('span', class_='rating_num').text))
```
6. 将数据转化为DataFrame:
```python
data = {'电影名称': titles, '评分': ratings}
df = pd.DataFrame(data)
```
7. 最后,将DataFrame写入Excel文件:
```python
output_filename = 'douban_top100.xlsx'
df.to_excel(output_filename, index=False)
```
完成以上步骤后,你就成功从豆瓣Top100爬取了数据并保存到了Excel文件中。
阅读全文
相关推荐


















