作者:MINUS大大

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

熟悉

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

思路划重点:

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

抓取尝试方式——1

网页如下


在网页端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

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

  1. Python爬虫--喜马拉雅三国音频爬取

    本文以爬取喜马拉雅"三国演义-原文朗读[四大名著]"一书为例,演示下Python爬虫. 原书地址:http://www.ximalaya.com/4228109/album/268 ...

  2. 简单的网络爬虫-喜马拉雅音频爬虫

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...

  3. Python 爬虫:喜马拉雅FM音频(这个还能不载,试了一下其它下载工具都不行了)

    现在是 3:35分,花了整晚时间,写了个 喜马拉雅FM音频 爬虫,顺便熟悉了一下 tkinter GUI 效果图: 已打包的工具可以在下面下载: 链接:https://pan.baidu.com/s/ ...

  4. [python爬虫]喜马拉雅音乐

    导包 import json,os,time from piaot import * def pqxs(shu=1):# 循环页数for i in range(1,shu+1):# 需要查询手动输入链 ...

  5. Python爬虫--喜马拉雅音频爬取

    爬取喜马拉雅三国中的前十章音频: #导入requests模块 import requests #导入正则表达式 import re #解决反爬问题,导入UA header = { 'User-Agen ...

  6. pycharm喜马拉雅音乐抓取

    喜马拉雅近期做了反爬,用requests请求页面得到的是空白,所以应该是改成动态的了,然后使用selenium+webdriver来获取的,webdriver可以设置成不打开浏览器,一定要想着关闭时用 ...

  7. 这些名言都是有后半句的,以前都按前半句理解,太坑人!

    01. 父母在,不远游. 原文:子曰:"父母在,不远游,游必有方."--<论语·里仁> 释义:要是出游,必须要告知去处和理由. 哭晕的理由:不是不让你出去啊有木有-- ...

  8. 原来这些名言都是有后半句的,坑死人了!

    1父母在,不远游 原文: 子曰"父母在,不远游,游必有方."--<论语·里仁> 释义: 要是出游,必须要告知去处和理由. 哭晕的理由:  不是不让你出去啊有木有-- 2 ...

  9. 原来这些名言都有后半句!被坑了太多年!

    原来这些名言都有后半句!被坑了太多年! 萌动杭城 2016-03-14 08:27:11 阅读(22846) 评论(11) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人 ...

最新文章

  1. 使用idea新建maven工程的web项目的步骤
  2. IDEA中的项目没有被SVN管理解决办法
  3. 宜兴电信成功跨界合作开拓农村物联网市场
  4. 机器学习:随机森林RF-OOB袋外错误率
  5. 递归走迷宫java_在Java中的迷宫递归回溯
  6. 二. linux基础命令
  7. vs 设置起始页不见了_发朋友圈屏蔽爸妈,结果不小心设置成了仅家人可见...场面一发不可收拾哈哈哈哈!...
  8. Python学习笔记:求一组数据的众数
  9. 一线互联网架构师筑基必备技能之Java篇,工作感悟
  10. python函数调用时所提供的参数可以是常量_如何使用mock作为函数参数在Python中修补常量...
  11. 深入理解ext2文件系统
  12. C#,欧拉常数(Euler Constant)的算法与源代码
  13. 信息熵与老鼠试药、称球问题
  14. 战舰少女r服务器维修,战舰少女r修理时间怎么计算?舰船受损维修时间公式分析[多图]...
  15. Python-阿里云地图的爬取
  16. vue与原生安卓相互调用
  17. 黑莓8700软件_莓友shadywb分享:我眼中的黑莓
  18. 华为ensp防火墙web登陆配置
  19. 2022(一等奖)B2548基于群体智慧的中国人口多情景时空仿真建模与预测
  20. linux运行国服英雄联盟排行榜,LOL国服排位十大高手排名:问谁是S2路人王

热门文章

  1. svg背景_具有SVG和混合模式的波普艺术背景
  2. 使用域策略禁止用户更改ip
  3. 30岁前如何达到年薪10万
  4. i5处理器学计算机怎么设置,怎么认识电脑处理器的划分?比如Intel i5、i7?
  5. 越野车轮胎型号你都了解吗?韩泰轮胎教你如何识别
  6. Cannot find symbol assertEquals
  7. python基础教程菜鸟-Python菜鸟文本处理4种方法
  8. Centos7远程登录工具Xshell7的使用
  9. 集合和数组的正确转换方式(可能有你不知道的坑哦)
  10. Javascript中Json的使用