爬取豆瓣top250数据并保存到Excel
时间: 2023-09-02 17:06:14 浏览: 159
爬取豆瓣电影TOP250的数据,包括电影详情连接、图片链接、影片中文名、影片外国名、评分、评价数、概况、相关信息
好的,我可以为您提供一个Python爬虫程序来实现这个功能。但是在使用之前,您需要安装一些必要的库,包括requests、BeautifulSoup、pandas和openpyxl。可以通过在命令行中运行以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
pip install pandas
pip install openpyxl
```
安装完成后,可以使用以下代码来实现您的需求:
```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/58.0.3029.110 Safari/537.3'}
# 爬取网页
movie_list = []
for i in range(0, 250, 25):
url = 'https://movie.douban.com/top250?start={}&filter='.format(i)
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
ol = soup.find('ol', class_='grid_view')
for li in ol.find_all('li'):
movie = []
hd = li.find('div', class_='hd')
movie.append(hd.find('span', class_='title').text)
bd = li.find('div', class_='bd')
movie.append(bd.find('p').text.strip().replace('\n', '').split('\xa0')[0])
movie.append(bd.find('div', class_='star').find_all('span')[1].text)
movie.append(bd.find('span', class_='inq').text)
movie_list.append(movie)
# 保存到Excel
df = pd.DataFrame(movie_list, columns=['电影名称', '电影信息', '评分', '一句话评价'])
df.to_excel('douban_top250.xlsx', index=False)
print('豆瓣top250数据已保存到Excel文件中!')
```
该程序会爬取豆瓣电影top250的数据,包括电影名称、电影信息、评分和一句话评价,并将数据保存到Excel文件中。请注意,豆瓣网站对爬虫有反爬措施,请勿频繁爬取,以免被封IP。
阅读全文