PYTHON 爬云音乐时 无法显示正常的ID 数字

kinglw110 2020-10-17 03:00:55
import requests
from bs4 import BeautifulSoup
url='https://music.163.com/#/discover/toplist' #云音乐飙升榜
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
res=requests.get(url=url,headers=headers)
soup=BeautifulSoup(res.text,'html.parser')
songs=soup.select('.m-table.m-table-rank tr')
for each in songs[2:3]: # 第一行表示标题

link='https://music.163.com/' + each.select('.txt a')[0]['href']
name=each.select('.txt a b')[0]['title']
# time=each.select('.u-dur')[0].text
pic=each.select('.tt .rpic')[0]['src']

# print('歌名:%s,地址:%s,图片:%s'%(name,link,pic))
print(link)

显示结果:
歌名:${x.name|escape}{if alia} - (${alia|escape}){/if},地址:https://music.163.com//song?id=${x.id},图片:${x.album.picUrl}?param=50y50&quality=100
这是什么情况,网站反爬了吗
...全文
564 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋千Swing0_0 2020-10-19
  • 打赏
  • 举报
回复
你这样下的只有试听部分,必须逆向分析获得加密参数,然后伪造请求获得真正的url 我有一篇专门写这个帖子,无奈涉及版权问题没法发布,你如果想学习的话可以私聊告诉你咋搞
kinglw110 2020-10-18
  • 打赏
  • 举报
回复
今天又碰到了一个问题 无法正常下载音乐
def save_song(name,url):
    try:
        print('正在下载:',name)
        print(url)
        urllib.request.urlretrieve(url,r'./songs/%s.mp3'% name)      
            
        print('下载成功')
    except:
        print('下载失败')
代码没有报错,且文件夹中也有下载的歌曲 就是歌曲的大小不对 无法播放 请教各位大侠这是什么情况?
kinglw110 2020-10-18
  • 打赏
  • 举报
回复 1
song_list={}
    songs=soup.select('#hotsong-list a')
    for each in songs: 
        # link='https://music.163.com/' + each['href']
        musicUrl='http://music.163.com/song/media/outer/url'+each['href'][5:]+'.mp3'
        title=each.text   
        # print('歌名:%s,地址:%s'%(title,link))
        song_list[title]=musicUrl
上面的问题已经搞定,是代码有问题
kinglw110 2020-10-17
  • 打赏
  • 举报
回复
刚学会一点爬虫就给我浇冷水

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧