点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

一腔热血勤珍重,洒去犹能化碧涛。

/1 前言/

生活中到处有各种各样的声音。在做网页时,没有声音的网页显得没有灵魂,特别是游戏网页,没有声音就体会不了其中精彩的打斗效果,会感到特别的无趣。

/2 项目目标/

今天教大家如何用Python网络爬虫去获取音效。

/3 项目准备/

软件:PyCharm

需要的库:requestslxmlssl

网站如下:

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.htmlhttps://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_2.htmlhttps://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 sslclass  Panda(object):def __init__(self):passdef main(self):passif __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、如果需要本文源码的话,请在公众号后台回复“音效”两个字进行获取,觉得不错,记得给个star噢。

------------------- End -------------------

往期精彩文章推荐:

  • 手把手用Python教你如何发现隐藏wifi

  • 手把手教你用Python做个可视化的“剪刀石头布”小游戏

  • 手把手教你使用Python批量创建复工证明

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

手把手教你使用Python网络爬虫获取音效信息相关推荐

  1. 手把手教你使用Python网络爬虫获取菜谱信息

    /1 前言/ 在放假时 ,经常想尝试一下自己做饭,下厨房这个网址是个不错的选择. 下厨房是必选的网址之一,主要提供各种美食做法以及烹饪技巧.包含种类很多. 今天教大家去爬取下厨房的菜谱 ,保存在wor ...

  2. 手把手教你使用Python网络爬虫获取招聘信息

    1.前言 现在在疫情阶段,想找一份不错的工作变得更为困难,很多人会选择去网上看招聘信息.可是招聘信息有一些是错综复杂的.而且不能把全部的信息全部罗列出来,以外卖的58招聘网站来看,资料整理的不清晰. ...

  3. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  4. 手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来. ...

  5. 手把手教你使用Python网络爬虫获取王者荣耀英雄皮肤

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 欢度国庆,共度中秋. /1 前言/ ...

  6. 手把手教你用Python网络爬虫获取壁纸图片

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 桃之夭夭,灼灼其华. /1 前言/ ...

  7. 实战|手把手教你利用Python网络爬虫获取新房数据

    一.项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以惠民之家 ...

  8. python爬虫可以爬取个人信息吗_手把手教你利用Python网络爬虫获取旅游景点信息...

    爬虫系列: 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格.开放时间.用户的评论等. 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息. 1.项目目标 获取网站的景 ...

  9. python链家网爬虫_手把手教你利用Python网络爬虫获取链家网的房产信息

    点击上方" Python爬虫与数据挖掘 ",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 夜阑卧听风吹雨,铁马冰河入梦来 ...

最新文章

  1. SecureCRT窗口输出代码关键字高亮设置
  2. Java 自增(++) 和 C语言中自增的区别
  3. 单核工作法13:永不拖延(下)
  4. Jerry Wang 2014年在SAP社区CRM板块的积分曾经一直占据第一
  5. RefineDetLite:腾讯提出轻量级高精度目标检测网络
  6. maya为什么不能导出fbx_Maya在操作中最容易出现的几个问题,现在注意还来得及...
  7. big sur java home_无法在macOS Big Sur上运行Eclipse
  8. Activity使用Intent启动另一个Activity
  9. android音视频焦点切换
  10. 靶基因高通量测序建库流程介绍
  11. Fragment already added 解决方式
  12. NNDL 作业4:第四章课后题
  13. 三坐标检测之测量基准面的选择
  14. Docker学习笔记 — Swarm搭建Docker集群
  15. Python爬取10529条《三十而已》热评,看看大家都说了些啥!
  16. 物联网知识点(总结)
  17. 手动汉化 PyCharm 的过程
  18. 泛微OA V8 SQL注入漏洞和文件上传漏洞
  19. 网站搭建技术需要学习的基础知识
  20. 计算机类最热门最高薪的四大专业详细解析,为你2022年高考志愿填报,提供决策参考

热门文章

  1. 【深度学习入门】——亲手实现图像卷积操作
  2. php对接短信宝,短信宝接入代码
  3. html基本页面的构成,HTML网页的基本组成概述
  4. 如何修复ACCESS数据库
  5. access的查询导致长文本数据缺失_Access常见错误及解决方案
  6. 配置alexa skill(一)
  7. 世界上最远的距离------泰戈尔
  8. 陈凯歌: 大创意大《无极》
  9. 网络上摘抄的数据库设计规范
  10. STM32F103C8T6 ADC输入电流电压特性