用pycharm爬取网址中的https://music.douban.com/top250“专辑名称 专辑链接 专辑评分 评分人数 歌手 发行日期 类型 介质 曲风”并用pycharm保存在数据库中
时间: 2025-02-03 21:15:46 浏览: 54
使用PyCharm爬取豆瓣音乐Top250并将数据保存到数据库中,可以使用Python的requests库来获取网页内容,使用BeautifulSoup库来解析HTML,最后使用SQLite数据库来存储数据。以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
# 爬取豆瓣音乐Top250页面
url = 'https://music.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 创建数据库连接
conn = sqlite3.connect('douban_music.db')
cursor = conn.cursor()
# 创建表
cursor.execute('''
CREATE TABLE IF NOT EXISTS music (
id INTEGER PRIMARY KEY AUTOINCREMENT,
album_name TEXT,
album_link TEXT,
album_rating TEXT,
rating_count TEXT,
singer TEXT,
release_date TEXT,
type TEXT,
medium TEXT,
style TEXT
)
''')
# 解析页面内容
items = soup.find_all('div', class_='item')
for item in items:
# 专辑名称
album_name = item.find('div', class_='hd').find('a').find('span').text.strip()
# 专辑链接
album_link = item.find('div', class_='hd').find('a')['href']
# 专辑评分
album_rating = item.find('span', class_='rating_nums').text.strip()
# 评分人数
rating_count = item.find('div', class_='star').find_all('span')[-1].text.strip()
# 歌手
singer = item.find('p').text.strip().split('/')[0]
# 发行日期
release_date = item.find('p').text.strip().split('/')[1]
# 类型
type = item.find('p').text.strip().split('/')[2]
# 介质
medium = item.find('p').text.strip().split('/')[3]
# 曲风
style = item.find('p').text.strip().split('/')[4]
# 插入数据
cursor.execute('''
INSERT INTO music (album_name, album_link, album_rating, rating_count, singer, release_date, type, medium, style)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
''', (album_name, album_link, album_rating, rating_count, singer, release_date, type, medium, style))
# 提交事务
conn.commit()
# 关闭连接
conn.close()
print("数据爬取并保存成功")
```
阅读全文
相关推荐

















