zoukankan      html  css  js  c++  java
  • python网络爬虫&&爬取网易云音乐

    #爬取网易云音乐

    url="https://music.163.com/discover/toplist" #歌单连接地址

    url2 = 'http://music.163.com/song/media/outer/url?id='#歌曲地址
    headers={#请求报头
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'}
    req=Request(url,headers=headers) #使用户可以访问该网站,认为你是浏览器,而不是爬虫
    with urlopen(req) as html:#
    text=html.read().decode('utf-8') #读取文件并且解码
    doc=etree.HTML(text) #解析HTML文档
    links=doc.xpath("//ul[@class='f-hide']/li/a/@href")#获取歌曲id
    songs=doc.xpath("//ul[@class='f-hide']/li/a/text()")#获取歌曲名
    ids = [ link[9::] for link in links] #切片工具只取id名部分
    for sid,title in zip(ids,songs): #遍历 zip包一一对应
    time.sleep(1) #间隔一秒
    req2 = Request(url2 + str(sid),headers=headers) #歌曲地址加上id名
    with urlopen(req2) as html: #在html中打开加载好的歌曲href
    urlretrieve(html.geturl(),"songs/%s.mp3"%title)#获取geturl到歌曲信息,将歌曲下载到文件songs中
    print("songs/%s.mp3 下载完成"%title)。
  • 相关阅读:
    JSON.parse()和JSON.stringify()
    php结合layui实现前台加后台操作
    微信拨打电话功能
    视觉差效果
    前端开发面试题
    字符串分割--java中String.split()用法
    vue.js实现购物车功能
    localStorage使用总结
    canvas 实现赛车小游戏
    canvas 实现飞碟射击游戏
  • 原文地址:https://www.cnblogs.com/aloneindefeat/p/10654875.html
Copyright © 2011-2022 走看看