静听网+python爬虫+多线程+多进程+构建IP代理池

目标网站:静听网

网站url:http://www.audio699.com/

目标文件:所有在线听的音频文件

附:我有个喜好就是晚上睡觉听有声书,然而很多软件都是付费才能听,免费在线网站虽然能听,但是禁ip很严重,就拿静听网来说,你听一个在线音频,不能一个没听完就点击下一集,甚至不能快进太快,否则直接禁你5分钟才能再听,真的是太太讨厌了...

于是我就想用爬虫给它爬下来存储本地就nice了.

我把我的大概分析步骤分享出来.

步骤1:

我查看静听网网页url有一个规律,基网址是http://www.audio699.com/book/,每本书对于一个唯一标识,比如 《借种》 这本书的url如下:(唯一标识1276)

步骤2:

分析html源码:我发现这个网站的每本书的每一集的url就是再上述url后添加集数,并且网页html中包含了音频文件的src如下:

到这里我有点奇怪,这个网站封ip这么严,为什么src会直接放在静态网页中暴露如此明显,我尝试着随便复制一个src,使用python下载这个文件,嗯,瞬间就下载好了,我心想python还真不错,然而当我播放下载好的m4a文件时,发现只有5s,里面传来熟悉的声音"您访问过快,请5分钟后刷新网页重新访问",,,我心想果然没那么简单。。。

然后我重新打开网页获取刚才那个src发现src的值竟然变了,我经过测试发现这个src几乎时时刻刻都在变化,且毫无规律.

哼,想到这里我其实反倒松了口气,只要我用代码实时获取src并且开始下载应该就能解决这个问题吧,于是我测试了一下我的想法

果不其然,这样的确可以下载成功,但是这样一个一个下载速度太慢,一本有声书可是有好几百集音频文件,一集一集下不现实,于是我便用了多线程和多进程下载,

编写好python代码后,测试发现刚开始还行,但下了不到10个音频后出现错误,403 forbidden,503 service unaviable,意思是远程计算机拒绝我的计算机访问网页,文件传输服务不可用,就是这一系列的错误,就是禁了我的ip

我最开始本来想到要不要构建个ip代理池,我心想我的不同进程访问的网页url都不相同,应该没有什么大问题,哎,看来不能偷懒啊,于是我又到西刺高匿代理网站爬取了一些代理ip,我还专门写了一个筛选脚本,筛选能够成功获取目标网页html的ip,改写代码后,再次尝试,发现虽然没有再出现403等错误,但是下载成功率低的惊人,开30个线程,200个代理ip,等了半小时回来看,

tmd,才下好5,6个文件,很多文件只有十几k,看着贼烦,哎,看来这免费ip质量还是不行,存活时间太短,于是我只好到大象代理网站买了ip(一天9元好贵),然后经过

筛选再次爬取,这次一共爬200个音频,等了半个小时运行结束,发现大概下载成功了170个文件,其他文件要么直接0k,要么残缺不全,,,

为此我又写了一个脚本,专门用于下载文件夹中下载失败的文件,这次我采用多进程方式下载,写完后运行,等了一会,发现程序运行差不多了,但没运行结束,我直接结束运行,发现原来的30个残缺文件只有极少数几个还没下载成功,我筛选ip再运行脚本,这次很快就下好了,看来筛选出ip很重要,

接下来我又改进了脚本的一些地方,多线程,多进程个写了一个,配合着下载能够完全将几百集的音频文件全部下载

2019/6/4日追加:其实静听网src获取容易然而下载真的不容易,ip不够用,现在静听网ip封的更加严,也许站长发现有人大量爬取网站音频,新添了反扒手段,现在买的代理ip都不管用了,不想说了,都是伤心...

为此,我还另外写了56听书网,天方听书网,好看听书网(良心网站),听书阁这些网站的音频脚本,其中好看听书网最容易,本身支持下载;56听书网获取音频源地址需要用到phantomjs,下载也容易,反扒不严重;听书阁,天方也还可以,基本582562078有声书资源是不愁了.

 

forever-activatecode:b'dGhhdF9uaWdodA=='@@

isfree:naf@@

bandAllusers:n@@

activatecode:b'6YKj5LiA5aScdGhhdF9uaWdodA=='@@

activatecode:b'NTgyNTYyMDc4'@@

 

转载于:https://www.cnblogs.com/lyj-blogs/p/10855898.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于ssm+bootsrap框架开发的静听音乐站系统源码+项目说明.zip 题目:静听轻音乐 设计工具: IDEA,SqlYog 设计主要内容: (1) 前台主页面功能: 1、音乐展示播放、上传、下载、分享。 2、用户创建歌单,显示热歌排行榜。用户听歌数量和排行。 3、一个交流社区,进行发表动态和评论进行交流 4、每日推荐歌曲和私人电台(播放收藏的歌曲) 5、歌曲和歌手分类搜索。歌曲分类包含轻音乐、新世纪、古典、钢琴、小提琴、大提琴。歌手分类包含居住国家和流派。 (2) 三类用户分别功能 游客:听歌、搜索歌曲。 普通用户:部分歌曲可以使用。听歌、上传、下载、分享、创建歌单。 Vip用户:所有歌曲可以听、上传、下载、分享、创建歌单。参加会员活动。拥有会员标识。 【备注】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载使用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值