爬虫——喜马拉雅-话说明朝播放列表

作者:MINUS大大

最近在深度学习python之余在听明史,大宇茶馆讲的明史是真好啊——听朱元璋打天下、听朱棣造反、听嘉靖皇帝与文官斗智斗勇,贼上瘾。
然后今天我突然想到——可以拿大宇茶馆的明史系列当一次爬虫练手
而这次爬虫练习只是想爬取这些成语标题+链接,并不想抓取背后的音频文件(因为这个播放列表本就是免费的,其实在APP听就挺好的)。

熟悉

来一起看下喜马拉雅的网页样子:

在这里插入图片描述

思路划重点:

  • 红框部分是播放链接
  • 点上边就会进入播放页面——也就是含有内部url链接
  • 抓当前页面的列表部分
  • 得到名称及链接

抓取尝试方式——1

网页如下

[外链图片转存失败(img-9aqr7mZa-1568881719908)(./_image/2019-09-19-15-48-20.png)]
在网页端element下有名字及href,因此尝试直接抓取:
在这里插入图片描述
得到的答案是:有响应,但是没有内容。

抓取尝试方式——2

因此尝试用XHR的方法,即:Network-XHR-Headers中看数据请求链接,和在preview中查看结构再层层抓取。

1思考思路
在这里插入图片描述
2观察结构
在这里插入图片描述
观察结构后,撰写代码如下:
在这里插入图片描述
可是呢,仍然为空,代码错误是:11行json不对,但是我确定json语句是这么写的,那错误在哪儿那?
在这里插入图片描述

代码错误是为什么呢?后来发现是因为喜马拉雅拒绝python爬虫的,因此需要做一定伪装。
即Headers的加载。以下是一个伪装的headers

headers={
'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3578.98 Safari/527.36'
}

当这些都解决了后,完成了该页面的抓取:

在这里插入图片描述
这个播放列表300多集,播音员的工作也不容易呀。

后续

抓这个列表有什么作用呢?
喜马拉雅是能收藏的,但是收藏完了后在APP翻也是需要时间的,而且经常分心,下次看到完结的,不错的,可以抓取下来存好了。按系列听起来。不怕广告及其他分神。
此外感谢爱德老师帮忙分析遇到问题。


The End

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MINUS大大

你的鼓励是我写下去的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值