python爬虫豆瓣音乐top250 加上导出文件
时间: 2023-06-16 13:07:01 浏览: 174
好的,以下是爬取豆瓣音乐Top250并导出为Excel文件的Python代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
def get_music_top250():
url = 'https://music.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'}
music_list = []
for start in range(0, 250, 25):
params = {
'start': start
}
response = requests.get(url, headers=headers, params=params)
soup = BeautifulSoup(response.text, 'lxml')
music_items = soup.find_all('div', class_='pl2')
for item in music_items:
music = {}
music['rank'] = item.find('span', class_='').get_text().strip()
music['name'] = item.find('a').get_text().strip()
music['artist'] = item.find('p', class_='pl').get_text().strip()
music_list.append(music)
return music_list
def export_to_excel(music_list):
df = pd.DataFrame(music_list)
df.to_excel('douban_music_top250.xlsx', index=False)
if __name__ == '__main__':
music_top250 = get_music_top250()
export_to_excel(music_top250)
print('导出成功!')
```
代码解析:
1. `get_music_top250` 函数用于爬取豆瓣音乐Top250的信息,并将其存储到一个列表中。
2. `export_to_excel` 函数将音乐信息列表导出为 Excel 文件。
3. 在主函数中,我们先调用 `get_music_top250` 函数获取音乐信息,然后再调用 `export_to_excel` 函数将信息导出到 Excel 文件中。
4. 这里使用了 `requests` 库和 `BeautifulSoup` 库来进行网页爬取和信息提取。同时,还使用了 `pandas` 库中的 `DataFrame` 类来将列表转换为 Excel 文件。
阅读全文