使用Python爬虫示例-自动下载网页音频文件
使用Python爬虫示例-自动下载网页音频文件
- 使用库
- 目标网站
- 获取并解析网页源代码
- 访问下载链接
使用库
requests
用来发送http请求。BeautifulSoup
一个灵活又方便的网页解析库,处理高效,支持多种解析器。
利用它就不用编写正则表达式也能方便的实现网页信息的抓取。- 安装和引入:
pip install requests
pip install BeautifulSoup
import requests
from bs4 import BeautifulSoup as bf
目标网站
一个需要手动点击下载mp3文件的网站,因为需要下载几百个所以很难手动操作。
获取并解析网页源代码
首先我们使用requests
获取目标网站的源代码
r = requests.get('http://www.goodkejian.com/ertonggushi.htm')
观察得知所有下载链接被存放在<a></a>
标签内,并且长度固定。且观察得知,该链接不能直接访问到下载地址,而应该将其中的amp;
去除后方可直接下载。
因此我们首先使用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 bfr = 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 + url2print(url)xjh_request = requests.get(url)with open("./res/" + str(recorder) + ".rar", 'wb') as file:file.write(xjh_request.content)file.close()recorder += 1print("ok")
使用Python爬虫示例-自动下载网页音频文件相关推荐
- mac用python爬虫下载图片_使用Python爬虫实现自动下载图片
python爬虫支持模块多.代码简洁.开发效率高 ,是我们进行网络爬虫可以选取的好工具.对于一个个的爬取下载,势必会消耗我们大量的时间,使用Python爬虫就可以解决这个问题,即可以实现自动下载.本文 ...
- 用python 对蜻蜓fm下载的音频文件进行批量还原文件名
对蜻蜓fm下载的音频文件进行批量还原文件名 小孩爱听蜻蜓fm的故事,可是懒得老买会员(囊中羞涩).干脆就想把音频文件下载回来慢慢听. 蜻蜓fm的安卓app可以下载音频文件保存到本地电脑里,便于临时会员 ...
- Python爬虫之自动下载图片
对大佬的图片下载器的小程序很感兴趣,故运行了一下代码块,发现会报类似下图中的Exceeded 30 redirects错. 故重新编写了一个访问函数来实现图片下载功能,不过还是要感谢大佬很有趣的ide ...
- python 爬虫源代码-python 爬虫-1:下载网页源代码
参考书籍:<用 Python 写网络爬虫> 当然你也可以自己百度搜索下载. 一点感想 书看一遍是不够的,温故而知新. 下载一个网页源代码 最简单的形式 使用的是 python 自带的库 u ...
- Python实例---爬取下载喜马拉雅音频文件
PyCharm下python爬虫准备 打开pycharm 点击设置 点击项目解释器,再点击右边+号 搜索相关库并添加,例如:requests 喜马拉雅全网递归下载 打开谷歌/火狐浏览器,按F12打开开 ...
- Python爬虫,自动下载cosplay小姐姐图片!
1.xpath使用 使用之前,传统艺能就是先导入该模块parsel. 之前我们匹配我们想要的内容比如链接,文字这些内容我们是不是都是通过正则表达式来爬取的 不知道大家看完之后是不是觉得正则表达式好难, ...
- python爬虫实战——自动下载百度图片(文末附源码)
用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...
- Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...
- python爬虫教程下载-Python爬虫视频教程全集下载
原标题:Python爬虫视频教程全集下载 Python作为一门高级编程语言,在编程中应用得非常广泛.随着人工智能的发展,python人才的需求更大.当然,这也吸引了很多同学选择自学Python爬虫.P ...
最新文章
- python创建一个有序链表_算法2-2:生成递增有序链表+两个链表合并
- 【学习笔记】11、循环语句—while
- poj 3680 Intervals(离散化+费用流)
- python中参数传递_python中参数传递
- 一步步编写操作系统 56 门、调用门与RPL序 1
- apache log4j入门
- oracle ora 08103,ORA-08103: 对象不再存在
- Oracle触发器6-管理触发器
- 转载linux ip命令新手入门
- [转]浅谈Normalize.css
- java坦克大战练习。java基础项目。巩固java基础部分。
- 关于人工智能不会使大脑变懒惰的议论文_模拟人类大脑 :人工智能的救赎之路 ?...
- PHP支付接口对接curl Post方式提交详解
- 手机游戏公司设定的客户群体是大学生和农民工
- 2013年计算机毕业生流向,2013年计算机专业应届毕业生自我鉴定
- 前端高效开发必备的js库梳理,日常使用中会持续更新
- 中文简体与繁体的转换
- 治五气,艺五种,抚万民,度四方
- hello.c的一生
- 素数筛线性筛详细详解(个人总结思路超长版)