利用request,beautifsoup写一个代码,可以搜索网易云歌手,输出他的id
时间: 2024-06-09 11:10:44 浏览: 10
好的,以下是一个基于 Python 的代码示例,使用 requests 和 BeautifulSoup 库实现:
```python
import requests
from bs4 import BeautifulSoup
# 输入歌手名称
singer_name = input("请输入歌手名称:")
# 构造请求头和 URL
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36"
}
url = "https://music.163.com/#/search/m/?s=" + singer_name + "&type=100"
# 发送 GET 请求
response = requests.get(url, headers=headers)
# 解析 HTML
soup = BeautifulSoup(response.text, "html.parser")
# 查找歌手 ID
singer_id = soup.select(".srchsongst .item .td .text a")[0]["href"].split("=")[-1]
# 输出结果
print("歌手名称:", singer_name)
print("歌手 ID:", singer_id)
```
注意,由于网易云音乐的页面使用了大量的 JavaScript 技术,所以我们无法直接通过 requests 和 BeautifulSoup 获取页面内容。上面代码中的 URL 是一个类似于网易云音乐的搜索页面,但是它的实际作用是跳转到真正的搜索页面,通过这种方式我们可以获取到页面内容。但是由于这种方式存在一些问题,所以在实际应用中需要根据具体情况进行调整。