作者: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. hung-yi lee_p22_无监督学习:词嵌入
  2. jmeter connection reset解决方法
  3. 向一个对象数组里面添加新的属性 + 将一个对象数组数据拿出来变成另一个对象
  4. python 线程池_老程序员的经验分享:Python 从业十年是种什么体验?
  5. VM Ware 虚拟机centos 时间与本地时间不一致
  6. js中prototype,constructor的理解
  7. ORACLE中BFILE字段的使用研究
  8. Java学习之面板与布局管理器
  9. FreeSwitch学习(1)-总体简介
  10. python学习之自动化运维(一):shell的使用
  11. 【转】Maven 入门
  12. Go/Goland 开发笔记
  13. 判断当前手机设备的类型(安卓还是IOS)
  14. Clickhouse 字符串函数
  15. MySQL之CentOS安装MySQL
  16. Linux设置自动重启脚本
  17. 恢弘志士之气,不宜妄自菲薄
  18. CGI上传文件以及大小限制修改
  19. Terraform 学习总结(4)—— Terraform 实战
  20. Access数据库及其基本操作(转)

热门文章

  1. 奥运史上首创 北京冬奥会全部场馆将采用绿色电力
  2. iOS. iphone/iPad中的尺寸、安全区,导航高度、机型判断
  3. 逻辑为基、数企赋能(NO.18):矩形图评估与决策
  4. oracle12520,升级Oracle RAC后出现ORA-12520错误
  5. 为7.23温州动车事故遇难者默哀!!
  6. 【VM服务管家】专题_7.2 VM应用案例
  7. 名风SEO百度点击软件
  8. 计算100元换算成1元、5元、10元零钱有多少种可能?
  9. 今天集成高德地图找不到 keystore 文件
  10. Visual Studio 修改安装时提示路径访问被拒绝解决方案