1.打开网易云音乐列表,按F12,选择Doc模式,方便查看。
2.查看网页的请求方式--get请求
3.查看header
4. 在Preview中搜索任意一首歌曲,比如:无由
可以看到,歌曲列表在‘ul’标签中,那么我们可以通过Be阿UtigulSoup去搜索
扫描二维码关注公众号,回复:
475582 查看本文章
明晰了结构,就可以写代码了:
import requests import re from bs4 import BeautifulSoup headers={ 'Host':'music.163.com', 'Referer':'http://music.163.com/', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36' } url='http://music.163.com/discover/toplist' r=requests.session() r=BeautifulSoup(r.get(url,headers=headers).content) result=r.find('ul',{'class':'f-hide'}).find_all('a') #print(reslut) music=[] #用于接受返回值 for mu in result: #print('{}:{}'.format(music.text,music['href'])) c='{}:{}'.format(mu.text,mu['href']) music.append(c) print(music) music[1] from pprint import pprint #格式化输出 pprint(music)
部分结果:
可以取出一个具体查看:
music[1]
还可以格式化输出,用pprint查看:
from pprint import pprint
pprint(music)