python网址下载文件语言_python爬虫实战之自动下载网页音频文件

becf373fe699cfb882ed0c2d041bb592.png

python是一种解释型语言,在进行爬虫的时候进行编译。对于网页上的音频文件会根据网页都有唯一的URL(统一资源定位符,也就是网址)进行定位爬虫,那你知道如何使用python爬虫自动下载网页音频文件吗?本文小编就带领大家进行自动下载网页音频文件的爬虫实战练习。

一、使用到的库

1、requests

用来发送http请求。

2、BeautifulSoup

一个灵活又方便的网页解析库,处理高效,支持多种解析器。

利用它就不用编写正则表达式也能方便的实现网页信息的抓取。

3、安装和引入:pip install requests

pip install BeautifulSoupimport requests

from bs4 import BeautifulSoup as bf

二、目标网站

一个需要手动点击下载mp3文件的网站,因为需要下载几百个所以很难手动操作。

三:获取并解析网页源代码

1、使用requests获取目标网站的源代码r = requests.get('http://www.goodkejian.com/ertonggushi.htm')

所有下载链接被存放在标签内,并且长度固定。该链接将其中的amp;去除后方可直接下载。

2、使用BeautifulSoup将网页内容解析并将其中的标签提取出来soup = bf(r.text, 'html.parser')

res = soup.find_all('a')

四:下载

经过上述步骤res就变成了包含所有目标标签的数组,要想下载网页上的所有mp3文件,只要循环把res中的元组转换为字符串,并经过筛选、裁剪等处理后变成链接就可以使用request访问了,并且返回值就是mp3文件的二进制表示,将其以二进制形式写进文件即可。

全部代码如下:import requests

from bs4 import BeautifulSoup as bf

r = requests.get('http://www.goodkejian.com/ertonggushi.htm')

soup = bf(r.text, 'html.parser')

res = soup.find_all('a')

recorder = 1

# 长度为126的是要找的图标

for i in res:

dst = str(i)

if dst.__len__() == 126:

url1 = dst[9:53]

url2 = dst[57:62]

url = url1 + url2

print(url)

xjh_request = requests.get(url)

with open("./res/" + str(recorder) + ".rar", 'wb') as file:

file.write(xjh_request.content)

file.close()

recorder += 1

print("ok")

以上就是使用python爬虫自动下载网页音频文件的思路和全部代码,大家可以套入代码尝试下载进行实战练习哦~更多python爬虫学习推荐:python爬虫教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值