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

目录
相关文章
|
5天前
|
数据采集 JavaScript 前端开发
构建你的首个Python网络爬虫
【9月更文挑战第8天】本文将引导你从零开始,一步步构建属于自己的Python网络爬虫。我们将通过实际的代码示例和详细的步骤解释,让你理解网络爬虫的工作原理,并学会如何使用Python编写简单的网络爬虫。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开网络数据获取的新世界。
|
5天前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。
|
8天前
|
数据采集 JavaScript 前端开发
打造你的Python爬虫:从基础到进阶
【9月更文挑战第5天】在数字信息泛滥的时代,掌握一项技能能让我们更好地筛选和利用这些资源。本文将带你了解如何用Python构建一个基本的网页爬虫,进而拓展到更复杂的数据抓取任务。无论你是编程新手还是有一定经验的开发者,跟随这篇文章的步伐,你将能够实现自动化获取网络数据的目标。准备好了吗?让我们一起潜入代码的世界,解锁新的可能!
WK
|
12天前
|
数据采集 XML 安全
常用的Python网络爬虫库有哪些?
Python网络爬虫库种类丰富,各具特色。`requests` 和 `urllib` 简化了 HTTP 请求,`urllib3` 提供了线程安全的连接池,`httplib2` 则具备全面的客户端接口。异步库 `aiohttp` 可大幅提升数据抓取效率。
WK
33 1
|
13天前
|
数据采集 JavaScript 前端开发
构建简易Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字信息的时代,数据抓取成为获取网络资源的重要手段。本文将引导你通过Python编写一个简单的网页爬虫,从零基础到实现数据抓取的全过程。我们将一起探索如何利用Python的requests库进行网络请求,使用BeautifulSoup库解析HTML文档,并最终提取出有价值的数据。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开数据抓取的大门。
|
14天前
|
数据采集 存储 数据库
构建你的第一个Python爬虫:从入门到实践
【8月更文挑战第31天】在数字时代的浪潮中,数据如同新时代的石油,而网络爬虫则是开采这些数据的钻头。本文将引导初学者了解并实现一个基础的网络爬虫,使用Python语言,通过实际代码示例,展示如何收集和解析网页信息。我们将一起探索HTTP请求、HTML解析以及数据存储等核心概念,让你能够快速上手并运行你的首个爬虫项目。
|
13天前
|
数据采集 存储 JavaScript
Python 爬虫实战:从入门到精通
【8月更文挑战第31天】 本文将带你走进 Python 爬虫的世界,从基础的请求和解析开始,逐步深入到反爬策略的应对和数据存储。我们将通过实际案例,一步步构建一个功能完整的爬虫项目。无论你是编程新手还是有一定经验的开发者,都能在这篇文章中找到适合自己的学习路径。让我们一起探索数据的海洋,揭开网络信息的神秘面纱。
|
14天前
|
数据采集 存储 JavaScript
Python 爬虫实战:从入门到精通
【8月更文挑战第31天】 本文将带你走进 Python 爬虫的世界,从基础的请求和解析开始,逐步深入到反爬策略的应对和数据存储。我们将通过实际案例,一步步构建一个功能完整的爬虫项目。无论你是编程新手还是有一定经验的开发者,都能在这篇文章中找到适合自己的学习路径。让我们一起探索数据的海洋,揭开网络信息的神秘面纱。
|
14天前
|
数据采集 存储 数据库
Python中实现简单爬虫与数据解析
【8月更文挑战第31天】在数字化时代的浪潮中,数据成为了新的石油。本文将带领读者通过Python编程语言,从零开始构建一个简单的网络爬虫,并展示如何对爬取的数据进行解析和处理。我们将一起探索请求网站、解析HTML以及存储数据的基础知识,让每个人都能成为自己数据故事的讲述者。
|
14天前
|
数据采集 JavaScript 前端开发
构建你的第一个Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字时代,数据是新的石油。本文将引导初学者通过简单的步骤,使用Python编程语言创建一个基础的网络爬虫程序。我们将探索如何从网络上提取信息,并理解背后的原理。无论你是编程新手还是想要扩展你的技术工具箱,这篇文章都将为你提供一条清晰的道路,让你学会编写能够自动获取网络数据的脚本。准备好开始你的网络数据抓取之旅了吗?让我们现在就开始吧!