python爬虫抓取音乐top100信息并转存sqlite数据库
时间: 2023-12-29 21:17:27 浏览: 88
好的,你需要先安装Python中的requests、beautifulsoup4和sqlite3模块。可以使用以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
```
接下来,你可以编写Python代码来实现抓取音乐top100信息并存储到SQLite数据库中。以下是一个简单的示例:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('music_top100.db')
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE IF NOT EXISTS music_top100
(rank INTEGER, name TEXT, artist TEXT)''')
# 获取网页内容
url = 'https://music.163.com/discover/toplist?id=3778678'
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)
html = response.text
# 解析网页内容
soup = BeautifulSoup(html, 'html.parser')
song_list = soup.find('ul', {'class': 'f-hide'}).find_all('a')
# 遍历歌曲列表并存储到数据库中
for index, song in enumerate(song_list):
name = song.text
artist = song.parent.parent.find('span', {'class': 's-fc8'}).text
c.execute("INSERT INTO music_top100 VALUES (?, ?, ?)", (index+1, name, artist))
# 提交更改并关闭连接
conn.commit()
conn.close()
```
运行上述代码后,程序会自动访问网址获取音乐top100的信息,并将其存储到名为 `music_top100.db` 的SQLite数据库中。你可以使用SQLite数据库浏览器来查看数据。
阅读全文