Python爬虫篇:实现铃声采集

简介: Python爬虫篇:实现铃声采集

前言
大家好,我是辣条哥

本篇只是进行知识分享,切勿用作其他用途

本篇只是进行知识分享,切勿用作其他用途

本篇只是进行知识分享,切勿用作其他用途,重要的事情说三遍

目录
前言
工具准备
项目思路解析
简易源码分享
总结
工具准备
开发工具:pycharm
开发环境:python3.7, Windows10
使用工具包:requests,lxml

项目思路解析
最近在找一些视频的背景音乐,无意中找到了当前这个网址,里面的音频还是很全面的,种类也多,唯一美中不足的是当前这个页面是需要进行收米的,在对这个网页进行一些简单分析之后,发现当前这个网页的加密是没有做的很严格的,只要你稍稍会点技术就可以对其进行数据采集。
首先找到当前网页需要的音频页面数据,先获取到准确的数据页面信息

当前这个网页的音频数据都是需要进行付费下载的,但是这个网址渲染的页面是静态数据,对外有去暴露了他的MP3的播放地址,可以在当前页面直接抓包获取到,这个网页对鼠标右击进行禁用,可以使用快捷键f12打开当前的页面信息,定位到页面数据

可以看到这个就是我们想要的mp3的播放地址我们可以尝试在浏览器页面对这个网址进行访问看看能不能获取到我们想要的音频数据,复制mp3地址在页面进行访问

可以看到就是我们想要的网址数据信息,现在需要对当前网址发送请求获取到页面数据,进行数据的筛选。

url = 'https://www.tukuppt.com/peiyue/zonghe_0_0_0_0_0_0_8.html'

发送请求

response = requests.get(url)
1
2
3
发送网之后我们通过xpath进行数据的提取,xpath有自己独立的语法,我们需要对xpath语法进行简单的认识,一些基础定义语法格式。

表达式 描述
nodename 选取此节点的所有子节点。
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点。
… 选取当前节点的父节点。
@ 选取属性。
通过独立的语法进行提取筛选,要是对语法不是特别熟练的可以通过浏览器上的xpath插件进行练习,能帮助大家更好的去认识xpath语法

提取出播放地址,以及音频的标题,因为之后我们是需要把数据保存在本地的,需要用中文来进行命名,在通过xpath语法进行提取就行,在使用xpath语法时需要注意,xpath是不能直接对html数据进行处理的,我们需要使用lxml的库将数据转换成对象数据
html_data = etree.HTML(response.text)
1
通过xpath所提取的数据为列表,我们可以通过循环的方式取出列表里的每个值,提取之后在次对音频播放地址发送请求,这个网址还需要拼接上https的请求协议,我们在网页上进行提取到的数据是没有请求协议的如果直接请求是会报错的,通过requests库再次发送请求,获取的音频数据是进制数据,将获取到的进制数据保存在本地。注意我们的数据写入时是进制数据,写入的模式为wb,到此大功告成

简易源码分享
++本篇文章只是进行知识分享,切勿用作其他用途++

import requests # 发送网络请求的工具包 库 底上库 模块
from lxml import etree # 转换数据的库

url = 'https://www.tukuppt.com/peiyue/zonghe_0_0_0_0_0_0_8.html'

发送请求

response = requests.get(url)

print(response.text)

筛选数据 html xpath 正则 bs4 css选择器 pyquery

html_data = etree.HTML(response.text)

print(html_data)

mp3_url_list = html_data.xpath('//div[@class="b-box"]/dl/audio/source/@src')
title_list = html_data.xpath('//div[@class="b-box"]/dl/dt[@class="info"]/a[@class="title"]/text()')

print(mp3_url_list) # 列表 [1,12,34,5]

for title, mp3_url in zip(title_list, mp3_url_list):

# print(title)
# print(mp3_url)
result = requests.get('https:' + mp3_url)
# print(result.content)
# 保存数据     服务器   数据库   mysql   mongodb    文本数据
# 文件操作    读取   read   r   写入  w    追加数据   a
with open('lingsheng/' + title + '.mp3', 'wb')as f:
    f.write(result.content)
    print('正在下载{}'.format(title))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
总结
不懂的或者说想要别的源码的,底下留言源码,或者直接找底下名片找我,再次提醒不能用来胡作非为,这是供大家学习参考的,最后祝大家学业有成

————————————————
版权声明:本文为CSDN博主「五包辣条!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AI19970205/article/details/124820300

目录
相关文章
|
12天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
14天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
15天前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
22天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
64 6
|
16天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
20天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
41 7
|
20天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
20天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
114 1
|
6天前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
35 0
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
186 4
下一篇
无影云桌面