python爬取喜马拉雅FM雪中悍刀行整本有声小说!下次教你们爬付费!

前言

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

开发工具

  • python 3.6.5
  • pycharm
import requests
import re

相关模块可pip安装

确定网页目标

有个白狐儿脸,佩双刀绣冬春雷,要做那天下第一。湖底有白发老魁爱吃荤。缺门牙老仆背剑匣。山上有个骑青牛的年轻师叔祖,不敢下山。有个骑熊猫扛向日葵不太冷的少女杀手。 这个江湖,高人出行要注重出尘装扮,女侠行走江湖要注意培养人气,宗派要跟庙堂打好关系。 而主角,则潇洒带刀,把江湖捅了一个通透…

python爬取喜马拉雅FM雪中悍刀行整本有声小说!下次教你们爬付费!

模拟浏览器请求网页

  • 获取网页数据
import requests
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
url = 'https://www.ximalaya.com/youshengshu/2684034/p1/'
response = requests.get(url=url, headers=headers)

解析网页数据

  • 获取章节名字、ID
import re
lis = re.findall('<a title="(.*?)" href="(.*?)">', response.text, re.S)[4:-1]
for i in lis:
    title = i[0]
    num_id = i[1].split('/')[-1]
    mp3_url = 'https://www.ximalaya.com/revision/play/v1/audio?id={}&ptype=1'.format(num_id)

保存音频文件

def download(url, title):
    filename = 'D:\\python\\demo\\喜马拉雅\\FM\\' + title + '.mp3'
    response = requests.get(url=url, headers=headers)
    with open(filename, mode='wb') as f:
        f.write(response.content)

python爬取喜马拉雅FM雪中悍刀行整本有声小说!下次教你们爬付费!

python爬取喜马拉雅FM雪中悍刀行整本有声小说!下次教你们爬付费!

你学会了吗?完整项目代码获取点这