设为首页收藏本站

爬虫批量下载DJ娱乐网串烧大赛获奖歌曲

[复制链接]
查看81 | 回复0 | 2020-7-3 20:19:19 | 显示全部楼层 |阅读模式
  1. import requests
  2. from lxml import etree
  3. import re
  4. headers = {
  5.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0',
  6.     'Connection': 'keep-alive'
  7. }
  8. def get_DjIdName():
  9.     start_urls = ['http://www.djyule.com/dasai/index.htm',
  10.                   'http://www.djyule.com/dasai/index_2.htm',
  11.                   'http://www.djyule.com/dasai/index_3.htm',
  12.                   'http://www.djyule.com/dasai/index_4.htm',
  13.                   'http://www.djyule.com/dasai/index_5.htm',
  14.                   'http://www.djyule.com/dasai/index_6.htm',
  15.                   ]
  16.     for start_url in start_urls:
  17.         response = requests.get(start_url, headers=headers)
  18.         text = response.content.decode('utf-8')
  19.         html = etree.HTML(text)
  20.         DJnamelink = html.xpath('//div[@class="DJnameLink"]')
  21.         for dj in DJnamelink:
  22.             dj_id = dj.xpath('./a/@href')[0]
  23.             dj_id = re.sub(r'\D', '', dj_id)
  24.             dj_name = dj.xpath('./a/text()')[0]
  25.             download_url = get_DjDownload_url(dj_id)
  26.             print(dj_name)
  27.             r = requests.get(download_url, headers=headers)
  28.             with open(r'C:\Users\13164\Music\{}.mp3'.format(dj_name), "wb+") as f: # 修改自己的下载目录
  29.                 f.write(r.content)
  30. def get_DjDownload_url(dj_id):
  31.     jiexi_url = 'http://aang.xyz/jx/djyule.php?id={}'.format(dj_id) # 解析接口
  32.     response = requests.get(jiexi_url, headers=headers)
  33.     download_url = response.url
  34.     return download_url
  35. if __name__ == '__main__':
  36.     get_DjIdName()
复制代码


下载的时候第31行的路径改为你自己的下载路径C:\Users\13164\Music\
这个接口解析的不是无损的320kbps码率 是试听的60kbps码率 这个在网络Network里可以找到 不需要调用这个接口 算了 省事了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则