阿里P8大佬手把手教你使用Python网络爬虫获取音效信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了阿里P8大佬手把手教你使用Python网络爬虫获取音效信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3185字,纯文字阅读大概需要5分钟。
内容图文
![阿里P8大佬手把手教你使用Python网络爬虫获取音效信息](/upload/InfoBanner/zyjiaocheng/598/2825995119e6449cbbebafdb3f0aceda.jpg)
/1 前言/
生活中到处有各种各样的声音。在做网页时,没有声音的网页显得没有灵魂,特别是游戏网页,没有声音就体会不了其中精彩的打斗效果,会感到特别的无趣。
/2 项目目标/
今天教大家如何用Python网络爬虫去获取音效。
/3 项目准备/
软件:PyCharm
需要的库:requests、lxml、ssl
网站如下:
https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_{}.html
/4 项目分析/
1、如何找到音效地址?
F12右键检查,找到对应的音效的地址,出现登录画面直接叉掉就可以了。
2、如何多网页访问?
观察网址的变化(一般取前三页):
https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_1.html
https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_2.html
https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_3.html
发现点击下一页时,zonghe_0_0_0_0_0_0{}每增加一页自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。
3、如何解除ssl验证?
因为这个网址是https,需要导入一个ssl模块,忽略ssl验证。
4、如何获取Cookie?
右键检查,找到NetWork,随便复制一个Cookie即可:
/5 项目实现/
1、定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库和网址,代码如下所示。
import requests
from lxml import etree
from fake_useragent import UserAgent
import ssl
class Panda(object):
def __init__(self):
pass
def main(self):
pass
if __name__ == '__main__':
imageSpider = Panda()
imageSpider.main(
2、导入网址和构造请求头。
self.url = "https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_{}.html" #/zhuanchang/:搜索的名字的拼音缩写
self.headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
}
3、发送请求 获取响应, 页面回调,方便下次请求。
def get_page(self, url):
res = requests.get(url=url, headers=self.headers)
html = res.content.decode("utf-8")
????????return?html
4、xpath解析页面数据。
这里我们先获取父节点,再通过for循环遍历,找到对应的子节点(音效地址)。
one = parse_html.xpath('//div[@class="b-box"]//dl')
for li in one:
lis_imges = li.xpath(".//audio//source/@src")[0].strip()
who = li.xpath(".//dt//a/text()")[0].strip()
获取到后,发现地址表示完整的地址,需要对网站进行补全,获取真正访问的地址。
mp3 = "https:" + lis_imges
5、运行的结果,如下图所示:
6、对音效地址发生请求,获取对应音效a标签的text()作为命名,写入文件。
dirname = "./音效/" + who + '.mp3'
html2 = requests.get(url=mp3, headers=self.headers).content
with open(dirname, 'wb') as f:
f.write(html2)
print("\n%s下载成功" % who))
7、调用方法,实现功能。
html?=?self.get_page(url)
self.parse_page(html)
/6 效果展示/
1、点击绿色小三角运行输入起始页,终止页,如1和2,获取1页信息即可。
2、运行程序后,结果显示在控制台,如下图所示。
3、将运行结果保存在本地,如下图所示。
4、双击文件,即可播放。
/7 小结/
1、不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。
2、本文基于Python网络爬虫,利用爬虫库,解除登录限制下载音效,存入文档。
3、按照步骤去实现,实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解得更加深刻。
4、希望通过这个项目能够了解到,对于HTTPS网站,解除ssl验证的有大致的了解。
5、如果需要本文源码的话,请私信回复“音效”两个字进行获取,觉得不错,记得给个赞噢。
结尾
需要下面的资料的,或者更多课件资源,可以私信我“资料”领取!!!
内容总结
以上是互联网集市为您收集整理的阿里P8大佬手把手教你使用Python网络爬虫获取音效信息全部内容,希望文章能够帮你解决阿里P8大佬手把手教你使用Python网络爬虫获取音效信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。