为什么url拼接不上
```python
import requests
import re
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
url ='https://music.163.com/discover/toplist?id=2884035'
response = requests.get(url, headers=headers)
html_data = response.text
info_list = re .findall('.*? ',html_data)
print(info_list)
for info in info_list:
music_id = info.split('>')[0][1:-1]
music_name = info.split('>')[1]
music_url = 'http://music.163.com/song/media/outer/url?id=' + music_id
print(music_name, music_url)
改成这样就行了:
import requests
import re
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
url = 'https://music.163.com/discover/toplist?id=2884035'
response = requests.get(url, headers=headers)
html_data = response.text
# print(html_data)
info_list = re.findall("/song\?id=(\d+.*?)</a>",html_data)
# http://music.163.com/song/media/outer/url?id=1991286841
for info in info_list:
music_id = info.split('>')[0][:-1]
music_name = info.split('>')[1]
music_url = 'http://music.163.com/song/media/outer/url?id=' + music_id
print(music_name, music_url)
代码贴规范,很明显,你的id提取错误呗!