一:媒介
本次爬取的是喜马拉雅的热点栏面前目今全部电台的每个频道的信息和频道中的每个音频数据的各类信息,然后把爬取的数据保存到mongodb以备后续应用。此次数据量在70万阁下。音频数据包含音频下载地址,频道信息,简介等等,异常多。
昨天进行了人生中第一次面试,对方是一家人工智能大年夜数据公司,我预备在这大年夜二的暑假去练习,他们就请求有爬取过音频数据,所以我就来分析一下喜马拉雅的音频数据趴下来。今朝我还在等待三面中,或者是通知最终面试消息。 (因为能获得必定肯定,不管成功与否都很高兴)
三:实例分析
1.起首进入此次爬取的主页面 http://www.ximalaya.com/dq/all/ ,可以看到每页12个频道,每个频道下面有很多的音频,有的频道中还有很多分页。抓取筹划:轮回84个页面,对每个页面解析后抓取每个频道的名称,图片链接,频道链接保存到mongodb。
热点频道
2.打开开辟者模式,分析页面,很快就可以获得想要的数据的地位。下面的代码就实现了抓取全部热点频道的信息,就可以保存到mongodb中。
分析频道
3.下面就是开端获取每个频道中的全部音频数据了,前面经由过程解析页面获取到了美国频道的链接。
比如我们进入 http://www.ximalaya.com/6565682/album/237771 这个链接后分析页面构造。可以看出每个音频都有特定的ID,这个ID可以在一个div中的属性中获取。应用split()和int()来转换为零丁的ID。
二:运行情况
- IDE:Pycharm 2017
- Python3.6
- pymongo 3.4.0
- requests 2.14.2
- lxml 3.7.2
- BeautifulSoup 4.5.3
频道页面分析
4.接着点击一个音频链接,进入开辟者模式后刷新页面然后点击XHR,再点击一个json链接可以看到这个就包含这个音频的全部具体信息。
6.全部代码
音频页面分析
5.膳绫擎只是对一个频道的主页面解析全部音频信息,然则实际上频道的音频链接是有很多分页的。
分页
完全代码地址 github.com/rieuse/learnPython
7.如不雅改成异步的情势可以快一点,只须要修改成下面如许就行了。我试了每分钟要比通俗的多获取近100条数据。这个源代码也在github中。
异步
五:总结
此次抓取的数据量在70万阁下,这些数据后续可以进行很多研究,比如播放量排行榜、时光区段排行、频道音频数量等等。后续我将持续进修应用科学计算和画图对象来进行数据分析,清洗的工作。
【编辑推荐】
- 深刻懂得Python字符串对象的实现
- Python爬虫之BeautifulSoup
- Python协程:概念及其用法
- Python源码懂得: +=和 xx = xx + xx的差别
- Python编写知乎爬虫实践
推荐阅读
在各类电子软件为我们带来便利的同时,小我信息泄漏的困扰也时有产生,《中华人平易近共和国收集安然法》6月1日起正式实施,这部司法将如何影响你我的收集生活,又将若何为小我信息安然护>>>详细阅读
本文标题:Python爬虫音频数据
地址:http://www.17bianji.com/lsqh/35831.html
1/2 1