python批量爬取网页音频数据

优采云 发布时间: 2022-06-18 03:49

  python批量爬取网页音频数据

  

  前言

  最近在带学生参加一个有关党史的比赛项目,其中有个功能需要播放有关中国*敏*感*词*党史的音频,于是在这个网站上“党史有声,天天学习”()找到了相关的音频文件。找了一下页面没有下载按钮。

  

  于是我做了以下的尝试:

  ①:下载了一个谷歌的插件:Fatkun智能下载器。当我点击一个音频的时候,就可以下载网页内包含的音频文件了。

  

  ②:用F12直接查看网页中的MP3的文件地址,然后把地址复制到新的窗口进行下载操作了。

  然后这样子一个一个进行下载和重名的步骤太过于繁琐了,之前学习了一些python的知识,于是我们就用python来提高我们的工作效率,解放我们的双手。那我们接下来就开始我们的教程:python批量进行爬取网页音频数据。Let's go

  准备阶段

  一、Mind+1.70V及以上

  ps:我这里用的是Mind+,当然了你们可以用其他的python编译器(python IDE,PyCharm,anaconda,mpython,慧编程...等等),因为我这边主要带的对象是学生,所以用了一个比较适合学生的python编程软件。

  首先先打开mind+,选着右上角的python模式:

  

  我们可以看到现在呈现在我们面前的是图形化界面,由于我们用到的是代码编程,使用需要切换到代码模式下进行编程:点击左上角的代码进行模型切换!

  

  然后点击右侧项目文件下面的新建文件按钮,创建一个.py文件。

  

  二、安装bs4库

  1.什么是BS4?

  BS4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为tiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编一下原始编码方式就可以了。

  2.BS4的4中对象

  最常用的还是BeautifulSoup对象和Tag对象

  我们首先点击库管理:

  

  选择pip模型进行安装:

  输入下面代码进行安装:

  pip install beautifulsoup4<br />

  然后点击运行进行安装即可!

  可能会提示让你更新你的pip版本信息:

  

  这里我们只需要根据提示进行更新即可!

  以管理员的模式运行CMD。输入:

  cd C:\Users\83731\Documents\mindplus-py\environment\Python3.6.5-64<br />python.exe -m pip install --upgrade pip<br />

  更新完成即可。

  程序设计

  我们想要效果如下:

  具体代码如下:

  # -*- coding:UTF8 -*-<br />import requests<br />import re<br />import os<br />from bs4 import BeautifulSoup<br /><br /># 创建文件夹<br />Dir = r"C:\Users\83731\Downloads\mp3\\"<br />os.mkdir(Dir)<br /><br /># 获取网页信息<br />url = "https://www.721ys.com/home/index/details2/type_id/105.html"<br />r = requests.get(url)<br />html_text = r.text<br /><br /># 将网页进行解析<br />soup = BeautifulSoup(html_text,'html.parser')<br /><br /><br /># 对soup进行遍历<br />for i in soup.select('ul[class="bd"]'):<br /> for j in i.select('li'):<br /> # 获取文件名与音频链接<br /> name = Dir + j.text.replace("\n","")<br /> url = j.find('i')['data-audio']<br /> print(name,url)<br /> # 获取URL的内容<br /> data = requests.get(url).content<br /> print("正在下载...")<br /> name = name + ".mp3"<br /> # 开始下载相应的音频文件<br /> with open(name,"wb") as f:<br /> f.write(data)<br /><br />

  实验结果:

  

  总结

  通过本节课的学习,我们对如何爬取网页上的音频信息有了更进一步了解。这里抛砖引玉一下,那如果我想要爬取网页的视频或者图片怎么办呢?(ps:每个网页的内容不一样,需要具体内容具体分析。)更多教程欢迎订阅。

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线