python爬取用户输入的音乐的代码
时间: 2023-03-28 14:00:34 浏览: 95
你好,以下是 Python 爬取用户输入的音乐的代码示例:
```python
import requests
from bs4 import BeautifulSoup
# 获取用户输入的音乐名称
music_name = input("请输入音乐名称:")
# 构造搜索链接
url = "https://www.xiami.com/search?key=" + music_name
# 发送 HTTP 请求
response = requests.get(url)
# 解析 HTML
soup = BeautifulSoup(response.text, "html.parser")
# 获取搜索结果中第一首歌曲的链接
song_link = soup.select_one(".track_list .song_name a")["href"]
# 打印歌曲链接
print(song_link)
```
希望对你有帮助!
相关问题
python爬取网易云音乐代码
您可以使用Python编程语言和第三方库如BeautifulSoup和Selenium来实现这项任务。以下是一个示例代码:
```python
import time
import csv
from selenium import webdriver
from bs4 import BeautifulSoup
# 设置要爬取的网站URL和需要的数据
url = 'https://example.com/data'
headers = ['组合', '出价']
# 设置需要爬取的不同组合
combinations = ['combo1', 'combo2', 'combo3']
# 设置等待页面加载的时间(秒)
WAIT_TIME = 5
# 启动Chrome浏览器并打开网页
browser = webdriver.Chrome()
browser.get(url)
# 创建CSV文件用于导出数据
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(headers)
# 遍历组合并爬取数据
for combo in combinations:
# 输入组合
input_box = browser.find_element_by_id('combo_input_box')
input_box.clear()
input_box.send_keys(combo)
# 等待页面加载完成
time.sleep(WAIT_TIME)
# 解析HTML并提取数据
soup = BeautifulSoup(browser.page_source, 'html.parser')
data_table = soup.find('table', {'class': 'data_table'})
data_rows = data_table.find_all('tr')[1:]
# 将数据写入CSV文件
for row in data_rows:
cells = row.find_all('td')
writer.writerow([combo, cells[1].get_text()])
# 关闭浏览器
browser.quit()
```
这个示例代码假设您要爬取的网站包含一个文本框用于输入组合、一个表格用于显示出价数据,并且每个组合的数据都在表格中单独显示。如果您的情况不同,需要根据实际情况进行修改。此外,建议设置合适的爬取间隔和使用代理避免被网站屏蔽。
python爬取酷狗音乐完整代码
以下是Python爬取酷狗音乐的完整代码:
```python
import requests
import json
def get_music_url(keyword):
search_url = f'http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword={keyword}&page=1&pagesize=1'
response = requests.get(search_url)
json_data = json.loads(response.text)
song_url = json_data['data']['lists'][0]['play_url']
return song_url
def download_music(url, name):
print('正在下载音乐......')
with open(f'{name}.mp3', 'wb') as f:
f.write(requests.get(url).content)
print('音乐下载完毕')
keyword = input('请输入要搜索的音乐关键字:')
url = get_music_url(keyword)
name = input('请输入要保存的音乐名称:')
download_music(url, name)
```
阅读全文