• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

每日一个爬虫练习:爬取喜马拉雅音频

python 搞java代码 3年前 (2022-05-21) 24次浏览 已收录 0个评论

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

本次目标

爬取喜马拉雅音频

<code><span class="hljs-attribute">https:<span class="hljs-comment">//www.ximalaya.com/</span></span></code>

www#gaodaima.com来源gao@dai!ma.com搞$代^码网搞代码

 

 

开发工具

  • python 3.6.5
  • pycharm

 

 

爬虫代码

导入工具

<span>import</span><span> requests
</span><span>import</span><span> re
</span><span>import</span> time

 

请求网页

headers =<span> {
    </span><span>"</span><span>cookie</span><span>"</span>: <span>"</span><span>device_id=xm_1596531699133_kdfpr35pt5o0on; _xmLog=h5&b145d793-85e1-4aec-8cf3-25643943c990&2.1.2; x_xmly_traffic=utm_source%253A%2526utm_medium%253A%2526utm_campaign%253A%2526utm_content%253A%2526utm_term%253A%2526utm_from%253A; Hm_lvt_4a7d8ec50cfd6af753c4f8aee3425070=1600235340,1600499992,1602060323,1602060364; Hm_lpvt_4a7d8ec50cfd6af753c4f8aee3425070=1602060571</span><span>"</span><span>,
    </span><span>"</span><span>user-agent</span><span>"</span>: <span>"</span><span>Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36</span><span>"</span><span>
url </span>= <span>"</span><span>https://www.ximalaya.com/youshengshu/2684034/p{}/</span><span>"</span><span>.format(page)
response </span>= requests.get(url=url, headers=headers)

 

解析网页数据

    lis = re.findall(<span>"</span><span><a title="(.*?)" href="(.*?)"></span><span>"</span>, response.text, re.S)[4:-1<span>]
    </span><span>for</span> i <span>in</span><span> lis:
        title </span>=<span> i[0]
        num_id </span>= i[1].split(<span>"</span><span>/</span><span>"</span>)[-1<span>]
        mp3_url </span>= <span>"</span><span>https://www.ximalaya.com/revision/play/v1/audio?id={}&ptype=1</span><span>"</span><span>.format(num_id)
        response_2 </span>= requests.get(url=mp3_url, headers=<span>headers)
        data </span>= response_2.json()

 

保存数据

<span>def</span><span> download(url, title):
    filename </span>= <span>"</span><span>D:pythondemo喜马拉雅FM</span><span>"</span> + title + <span>"</span><span>.mp3</span><span>"</span><span>
    response </span>= requests.get(url=url, headers=<span>headers)
    with open(filename, mode</span>=<span>"</span><span>wb</span><span>"</span><span>) as f:
        f.write(response.content)
        </span><span>print</span>(<span>"</span><span>{}下载完成</span><span>"</span>.format(title))

 

运行代码,效果如下图

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:每日一个爬虫练习:爬取喜马拉雅音频

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址