最近跟着网上教程初学着用python爬取页面,于是就想试着扒一扒自己网易云音乐歌单的歌曲,想把歌单里歌曲的链接曲名这些全部爬出来
def getPage():
url = 'http://music.163.com/#/m/playlist?id=75411989'
r = requests.get(url)
page = r.text
print page
pattern = re.compile(r'Jackrabbit
items = re.findall(pattern,page)
print items
for item in items:
print item
但是解析网页后发现根本解析不出歌曲id或名称,原因是否是我正则表达式不对呢?
然后借用网上找到的匹配链接的正则
pattern2 = re.compile(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')")
得到了这样的结果
/song?id=${x.id}
javascript:;
/album?id=${x.album.id}
javascript:;
/album?id=${x.album.id}
/song?id=${x.id}
javascript:;
想问一下前辈们这个无法解析的原因,另外能否用beafulsoup得到结果呢?(歌曲信息链接似乎在非常子层的div中,感觉用bs4很复杂啊)