为什么会有这篇博客?
父亲手机流量不是很多,不能在线听单田芳的评书,隋唐演义,我就在网上下载相关的mp3,放到父亲手机中,让在闲暇之余解解闷。可是在网上搜来搜去,有一个网站可以下载:[http://www.520tingshu.com/book/book319.html],但是操作及其麻烦,一共130集,需要一个一个点进去试听才能下载,这何其麻烦
这就想起来前一段时间看的爬虫刚好派上用场。
正菜:
这个例子很简单,也包含了爬虫的基本要素:获取--解析--存储
最好懂python,python是爬虫的前提,也可以用java开发,但是小蟒蛇确实比java简单易用很多,我是java开发,但是我也会选择python开发爬虫,这也是机器学习用python开发的一个原因,还有就是python提供了好多机器学习的算法类库,扯远了,回到这个爬虫上
先分析网页
第一集的地址 第二集的地址由此可以推断出所有的下载地址
代码如下:
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)
下载效果:
下载的文件
代码没有用到多线程,可变ip,可见这个网站没有反爬相关的防护,技术用到实际生活中提高效率
网友评论