爬虫爬评书吧_爬虫学习:xpath爬取评书网

在家闲着,想找点评书听,但找了很久都没找到方便打包下载的地方。于是就拿起自学的python爬虫,自己动手丰衣足食。

运行环境:Windows7,python3.7

操作步骤:

1.打开选好的评书主页面(https://www.5tps.com/html/23602.html),并调出chrome控制台,找到目录列表对应的元素。

2.点开具体回目,筛选具体的音频链接。

可以看到链接:http://psf.tt56w.com:8000/%E5%8D%95%E7%94%B0%E8%8A%B3/%E5%8D%95%E7%94%B0%E8%8A%B3_%E7%A0%B4%E6%99%93%E8%AE%B0(37%E5%9B%9E)/001_A.mp3

是乱码,具体情况是连接中中文转码造成的,可以百度在线的网址进行转码,结果为:

http://psf.tt56w.com:8000/单田芳/单田芳_破晓记(37回)/001_A.mp3

利用相同的原理,再点几个页面,我们可以找到一个规律,这个评书的音频链接命名规则是【http://psf.tt56w.com:8000/单田芳/单田芳_破晓记(37回)/】+【章节的对应元素代码】。

因此只需要爬取主页面目录的元素即可。

代码如下:

from lxml importetreeimportrequests

headers= {"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1 Trident/5.0;"}

url='https://www.5tps.com/html/23602.html'html=etree.HTML(requests.get(url,headers=headers).content)

results=html.xpath('//ul/li/a/@title') #音频链接

resultst=html.xpath('//ul/li/a/text()') #章节名字

for i inrange(len(results)):

results[i]='http://psf.tt56w.com:8000/单田芳/单田芳_破晓记(37回)/'+results[i]

resultst[i]=resultst[i].replace('\xa0','')

with open('G:\dota\pingshu2\{}.mp3'.format(resultst[i][1:-1]),'wb') as f:

f.write(requests.get(results[i]).content)#下载并保存,具体保存路径根据需要修改

print(resultst[i][1:-1])print('爬取完成!')

参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值