使用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爬虫示例-自动下载网页音频文件相关推荐

  1. mac用python爬虫下载图片_使用Python爬虫实现自动下载图片

    python爬虫支持模块多.代码简洁.开发效率高 ,是我们进行网络爬虫可以选取的好工具.对于一个个的爬取下载,势必会消耗我们大量的时间,使用Python爬虫就可以解决这个问题,即可以实现自动下载.本文 ...

  2. 用python 对蜻蜓fm下载的音频文件进行批量还原文件名

    对蜻蜓fm下载的音频文件进行批量还原文件名 小孩爱听蜻蜓fm的故事,可是懒得老买会员(囊中羞涩).干脆就想把音频文件下载回来慢慢听. 蜻蜓fm的安卓app可以下载音频文件保存到本地电脑里,便于临时会员 ...

  3. Python爬虫之自动下载图片

    对大佬的图片下载器的小程序很感兴趣,故运行了一下代码块,发现会报类似下图中的Exceeded 30 redirects错. 故重新编写了一个访问函数来实现图片下载功能,不过还是要感谢大佬很有趣的ide ...

  4. python 爬虫源代码-python 爬虫-1:下载网页源代码

    参考书籍:<用 Python 写网络爬虫> 当然你也可以自己百度搜索下载. 一点感想 书看一遍是不够的,温故而知新. 下载一个网页源代码 最简单的形式 使用的是 python 自带的库 u ...

  5. Python实例---爬取下载喜马拉雅音频文件

    PyCharm下python爬虫准备 打开pycharm 点击设置 点击项目解释器,再点击右边+号 搜索相关库并添加,例如:requests 喜马拉雅全网递归下载 打开谷歌/火狐浏览器,按F12打开开 ...

  6. Python爬虫,自动下载cosplay小姐姐图片!

    1.xpath使用 使用之前,传统艺能就是先导入该模块parsel. 之前我们匹配我们想要的内容比如链接,文字这些内容我们是不是都是通过正则表达式来爬取的 不知道大家看完之后是不是觉得正则表达式好难, ...

  7. python爬虫实战——自动下载百度图片(文末附源码)

    用Python制作一个下载图片神器 前言 这个想法是怎么来的? 很简单,就是不想一张一张的下载图片,嫌太慢. 在很久很久以前,我比较喜欢收集各种动漫的壁纸,作为一个漫迷,自然是能收集多少就收集多少.小 ...

  8. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)

    Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集) 目录 数据集下载的所有代码 1.主文件 mni ...

  9. python爬虫教程下载-Python爬虫视频教程全集下载

    原标题:Python爬虫视频教程全集下载 Python作为一门高级编程语言,在编程中应用得非常广泛.随着人工智能的发展,python人才的需求更大.当然,这也吸引了很多同学选择自学Python爬虫.P ...

最新文章

  1. python创建一个有序链表_算法2-2:生成递增有序链表+两个链表合并
  2. 【学习笔记】11、循环语句—while
  3. poj 3680 Intervals(离散化+费用流)
  4. python中参数传递_python中参数传递
  5. 一步步编写操作系统 56 门、调用门与RPL序 1
  6. apache log4j入门
  7. oracle ora 08103,ORA-08103: 对象不再存在
  8. Oracle触发器6-管理触发器
  9. 转载linux ip命令新手入门
  10. [转]浅谈Normalize.css
  11. java坦克大战练习。java基础项目。巩固java基础部分。
  12. 关于人工智能不会使大脑变懒惰的议论文_模拟人类大脑 :人工智能的救赎之路 ?...
  13. PHP支付接口对接curl Post方式提交详解
  14. 手机游戏公司设定的客户群体是大学生和农民工
  15. 2013年计算机毕业生流向,2013年计算机专业应届毕业生自我鉴定
  16. 前端高效开发必备的js库梳理,日常使用中会持续更新
  17. 中文简体与繁体的转换
  18. 治五气,艺五种,抚万民,度四方
  19. hello.c的一生
  20. 素数筛线性筛详细详解(个人总结思路超长版)

热门文章

  1. 荣耀7 android版本,荣耀7有几个型号版本?各型号区别介绍
  2. 计算机二级字处理范文,计算机二级考试内 容(范文).doc
  3. 字节跳动携火山引擎云躬身入局 这朵云究竟要做成什么样子?
  4. auc到多少有意义_对模型评价指标AUC的理解
  5. 程序员健康作息时间表
  6. NDK OpenGL ES 3.0 开发(一):绘制一个三角形
  7. BZOJ2594 水管局长数据加强版LCT
  8. 简单的加减乘除计算器
  9. tp5.1接入支付宝支付接口
  10. rtx3060和gtx1080选哪个rtx3060和gtx1080差距