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爬虫教程。

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

  1. 实战python网络爬虫脚本之家_python爬虫实战,批量下载网站视频

    pip3 install requests 测试样例 加上序言总共有16个视频,我们用python爬虫技术批量下载到本地. https://learning.dcloud.io/#/?vid=0 ​ ...

  2. python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细

    前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...

  3. python下载电影视频_python爬虫:抓取下载电影文件,合并ts文件为完整视频

    目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...

  4. python爬取论坛帖子_Python爬虫实战(1):爬取Drupal论坛帖子列表

    1,引言 在<Python即时网络爬虫项目: 内容提取器的定义>一文我们定义了一个通用的python网络爬虫类,期望通过这个项目节省程序员一半以上的时间.本文将用一个实例讲解怎样使用这个爬 ...

  5. python爬百度贴吧_Python爬虫实战之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖内 ...

  6. 利用python爬取租房信息_Python爬虫实战(1)-爬取“房天下”租房信息(超详细)

    #前言html 先看爬到的信息:python 今天主要用到了两个库:Requests和BeautifulSoup.因此我先简单的说一下这两个库的用法,提到的都是此文须要用到的.编程 #Requests ...

  7. python喜马拉雅_Python爬虫实战案例:取喜马拉雅音频数据详解!

    前言 喜马拉雅是专业的音频分享平台,汇集了有声小说,有声读物,有声书,FM电台,儿童睡前故事,相声小品,鬼故事等数亿条音频,我最喜欢听民间故事和德云社相声集,你呢? 今天带大家爬取喜马拉雅音频数据,一 ...

  8. python录音详解_Python爬虫实战案例:取喜马拉雅音频数据详解

    前言 喜马拉雅是专业的音频分享平台,汇集了有声小说,有声读物,有声书,FM电台,儿童睡前故事,相声小品,鬼故事等数亿条音频,我最喜欢听民间故事和德云社相声集,你呢? 今天带大家爬取喜马拉雅音频数据,一 ...

  9. python多线程爬取段子_Python爬虫实战之一秒爬取内涵段子

    人生苦短,我用Python,今天来一起爬取一下内涵段子. 话不啰嗦直接代码,gogogog! #coding=utf-8 import urllib2 import re class Spider: ...

  10. python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息

    1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author  ...

最新文章

  1. pyinstaller打包之后运行出现:Could not find the matplotlib data files
  2. Kotlin教程(九)泛型
  3. 关于滴水的VT调试器
  4. hibernate批量删除和更新数据
  5. 修改图层的范围_【PS|第39期】数字绘画 使用填充图层
  6. 该放弃正在堕落的“RNN和LSTM”了
  7. 剑指offer 56 - 1.数组中数字出现的次数
  8. 机器人施教器的信息丢失_一种精准定位学习难度的施教方法及教育机器人与流程...
  9. python环境安装opencv_服务器python环境和opencv安装方法
  10. [导入]Asp.Net MVC实践 - 探索UrlRouting并分析UrlHelper (基于ASP.NET MVC Preview 3)
  11. tomcat出现5个using_婚姻出现危机的8个迹象,日常5个细节促进夫妻情感
  12. 1.4_2 Axure RP 9 for mac 高保真原型图 - 案例1 【基础】模仿微信页面
  13. DMX512 for Arduino 例子详解
  14. Linux安装dos环境,Ubuntu安装dos2unix工具
  15. [小雨学编程之C#] 18.1 数据类型转换,数据类型别名
  16. 计算机大作业的范本,计算机应用基础大作业.doc
  17. Java中进行Debug断点调试
  18. WPF Binding表达式
  19. 期权理论基础1 对冲法
  20. 终端怎么退出python命令行

热门文章

  1. div 设置a4大小_如何在A4纸张尺寸页面中制作HTML页面?
  2. 吹塑模具和注塑模具的区别
  3. 如何查询出指定地点对应的经纬度(高德地图)
  4. oracle seq nextval,在oracle中使用sequence.nextval创建表
  5. STM32+WIFI模块(EMW3080)使用MQTT协议链接阿里云服务器
  6. php中怎么缩放图片,php中图片的缩放比例-php教程
  7. 大数据舆情监测平台_大数据舆情监测与分析平台有哪些?舆情大数据监测软件排名2020...
  8. LM2596数控电路原理分析
  9. C/C++语言 结构体数组初始化 结构体数组元素全部置0 memset函数将结构体数组初始化
  10. 魔兽世界阿拉索人数最多服务器,魔兽世界8月国服人口普查 2019wow各服务器阵容比例汇总...