记一次用爬虫帮助节省时间

为什么会有这篇博客?
父亲手机流量不是很多,不能在线听单田芳的评书,隋唐演义,我就在网上下载相关的mp3,放到父亲手机中,让在闲暇之余解解闷。可是在网上搜来搜去,有一个网站可以下载:[http://www.520tingshu.com/book/book319.html],但是操作及其麻烦,一共130集,需要一个一个点进去试听才能下载,这何其麻烦

记一次用爬虫帮助节省时间_第1张图片
麻烦的下载过程

这就想起来前一段时间看的爬虫刚好派上用场。
正菜:
这个例子很简单,也包含了爬虫的基本要素:获取--解析--存储
最好懂python,python是爬虫的前提,也可以用java开发,但是小蟒蛇确实比java简单易用很多,我是java开发,但是我也会选择python开发爬虫,这也是机器学习用python开发的一个原因,还有就是python提供了好多机器学习的算法类库,扯远了,回到这个爬虫上

先分析网页

记一次用爬虫帮助节省时间_第2张图片
第一集的地址
记一次用爬虫帮助节省时间_第3张图片
第二集的地址

由此可以推断出所有的下载地址
代码如下:

import requests
from bs4 import BeautifulSoup as bs

headers = {'User-Agent' : 'Mozilla/5.0(Windows; U; Windows NT 6.1;en_US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}

for i in range(1,20):
    k = "%03d" % i
    link = 'http://tingmp33.meiwenfen.com/%E8%AF%84%E4%B9%A6%E5%A4%A7%E5%85%A8/%E5%8D%95%E7%94%B0%E8%8A%B3_%E9%9A%8B%E5%94%90%E6%BC%94%E4%B9%89/%E9%9A%8B%E5%94%90%E6%BC%94%E4%B9%89_'+str(k)+'.mp3'
    r = requests.get(link,headers=headers)

    with open('d:/workspace/python/data/'+str(i)+'.mp3','wb') as f:
        f.write(r.content)

下载效果:


记一次用爬虫帮助节省时间_第4张图片
下载的文件

代码没有用到多线程,可变ip,可见这个网站没有反爬相关的防护,技术用到实际生活中提高效率

你可能感兴趣的:(记一次用爬虫帮助节省时间)