python如何爬取自动下载网页音频文件

发布时间:2021-05-08 14:25:01 作者:小新
来源:亿速云 阅读:438

小编给大家分享一下python如何爬取自动下载网页音频文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

一、使用到的库

1、requests

用来发送http请求。

2、BeautifulSoup

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

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

3、安装和引入:

pip install requests
pip install BeautifulSoup
import requests
from bs4 import BeautifulSoup as bf

二、目标网站

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

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

1、使用requests获取目标网站的源代码

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

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

2、使用BeautifulSoup将网页内容解析并将其中的<a></a>标签提取出来

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如何爬取自动下载网页音频文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 怎么利用Python爬取网页内容
  2. Python静态网页如何爬取高清壁纸

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python如何爬取微博热搜存入Mysql

下一篇:python如何爬取智能翻页批量下载文件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》