贴吧照片和酷狗音乐简单爬取

爬取的基本步骤

很简单,主要是两大步

向url发起请求

这里注意找准对应资源的url,如果对应资源不让程序代码访问,这里可以伪装成浏览器发起请求。


解析上一步返回的源代码,从中提取想要的资源

这里解析看具体情况,一般是筛选标签之中的信息或者资源,有很多筛选的第三方包和方法

贴吧图片下载

导入 requestslxml两个第三方包,没有需要下载

找到我们需要图片资源的==url ==, 比如我这里是 贴吧图片测试 http://c.tieba.baidu.com/p/5857827920

然后就是发起请求,拿到源代码,解析资源获得下载的url,下载资源到本地

import requests
from lxml import etree

# 发起请求拿到网页源代码
index_url = 'http://c.tieba.baidu.com/p/5857827920'
response = requests.get(index_url).text

# 解析源代码,筛选数据
selector = etree.HTML(response)
image_urls = selector.xpath('//img[@class="BDE_Image"]/@src')

offset = 0
# 拿到url下载对应文件
for image_url in image_urls:
    image_content = requests.get(image_url).content
    offset += 1
    # 将数据写入本地
    with open("D:/桌面/image_test/{}.jpg".format(offset), 'wb') as f:
        f.write(image_content)


酷狗音乐歌曲下载

步骤是差不多的,但是这里找 url 变化了一点,找到你想要下载的歌曲,并打开对应的播放页,如下:
按下F12或者是右键点击检查,我这里用的是 谷歌浏览器,打开网页的源代码



网页源代码展示



选择上面的网络或者network,点击打开



network描述

然后刷新一下网页,发起的网络请求就可以在这个界面看到,然后筛选媒体或者media,看到后缀为MP3的文件打开,多图示例:

找mp3文件



找资源url



播放界面

看到请求网址,复制它,到一个新页面打开试一下能不能播放,如果可以,那么我们要下载的资源的url就找到了。这个也就是代码中发起请求的那个资源url

直接上代码

import requests

# url
m_url = 'https://webfs.hw.kugou.com/202308142239/c9d5212c77dac7daf7e3a144b167e5ef/KGTX/CLTX001/d632d77fc37a7f5fee87baf23a0944cb.mp3'

# 获取源代码

headers = {'User-Agent':
                  'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36m_resp = requests.get(m_url)'
           }
 # 这个headers就是请求标头,可以区别请求来源,会指明来源的操作系统浏览器这些信息,程序代码请求的话我们可以伪装成浏览器,加上这个标头。

m_resp = requests.get(m_url, headers=headers)

# 保存数据
with open("D:/桌面/test/geini.mp3", 'wb') as f:
    f.write(m_resp.content)



请求标头这里可以找到

请求标头
最下面的一个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/75978.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Azure添加网络接口

添加网络接口的意义 在 Azure 上,为虚拟机添加网络接口的意义包括以下几个方面: 扩展网络带宽:通过添加多个网络接口,可以增加虚拟机的网络带宽,提高网络传输速度和数据吞吐量。实现网络隔离:每个网络接口…

科东软件受邀参加第五届国产嵌入式操作系统技术与产业发展论坛

8月12日,第五届国产嵌入式操作系统技术与产业发展论坛暨嵌入式系统联谊会主题讨论会(总第29次)在杭州成功举行。这次论坛的主题是“面向异构多核智能芯片的混合关键系统研究与应用”,上午是“嵌入式异构多核智能芯片产业发展”的主…

Python中的字符串与字符编码

Hello,这里是Token_w的博客,欢迎您的到来 今天文章讲解的是Python中的字符串与字符编码,其中有基础的理论知识讲解,也有实战中的应用讲解,希望对你有所帮助 整理不易,如对你有所帮助,希望能得到…

uniapp-----封装接口

系列文章目录 uniapp-----封装接口 uniapp-----分包 文章目录 系列文章目录 uniapp-----封装接口 uniapp-----分包 文章目录 前言 一、技术 二、封装步骤 1.准备 ​编辑 2.代码填充 request.js: api.js: min.js 页面使用 总结 前言 uni…

Java反序列化漏洞笔记

前言 作为Java安全方面的盲对Java反序列化各种链方面了解的并不多,但是这些链条又极为重要,有助于更好的理解各种漏洞的产出和原理,因此以下笔记开始从底慢慢学起。 为什么会产生安全问题? 服务器反序列化数据时,客…

【数学建模】--灰色关联分析

系统分析: 一般的抽象系统,如社会系统,经济系统,农业系统,生态系统,教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。人们常常希望知道在众多的因素中,哪些是主要…

数据结构--最短路径 Dijkstra算法

数据结构–最短路径 Dijkstra算法 Dijkstra算法 计算 b e g i n 点到各个点的最短路 \color{red}计算\ begin\ 点到各个点的最短路 计算 begin 点到各个点的最短路 如果是无向图,可以先把无向图转化成有向图 我们需要2个数组 final[] (标记各顶点是否已…

webpack 创建VUE项目

1、安装 node.js 下载地址:https://nodejs.org/en/ 下载完成以后点击安装,全部下一步即可 安装完成,输入命令验证 node -vnpm -v2.搭建VUE环境 输入命令,全局安装 npm install vue-cli -g安装完成后输入命令 查看 vue --ver…

宋浩线性代数笔记(五)矩阵的对角化

本章的知识点难度和重要程度都是线代中当之无愧的T0级,对于各种杂碎的知识点,多做题复盘才能良好的掌握,良好掌握的关键点在于:所谓的性质A与性质B,是谁推导得谁~

深入理解epoll

文章目录 概述1. epoll_create - 创建一个epoll实例2. epoll_ctl - 控制epoll实例的事件结构体介绍events取值:data: 联合体(共用体): 3. epoll_wait - 等待事件发生伪代码总结 概述 在网络编程中,高效地处…

人大进仓数据库ksql命令基础

测试环境信息: 系统为银河麒麟V10 数据库为Kingbase ES V8 数据库安装目录为/opt/Kingbase/ES/V8 ksql命令位于/opt/Kingbase/ES/V8/Server/bin下 使用--help获取帮助 续上图 1.查看数据库列表 ./ksql -U system -l 2.查看数据库版本 ./ksql -V 3.连接指定的数据库tes…

浅谈SMT行业MES系统生产管理的特点

一、SMT生产车间在电子制造中起重要作用的部分,主要具备以下生产特点: 1.高密度和高速度: SMT生产车间中的电子元器件一般来说较为精小,且被紧密地排列在PCB上。这就要求SMT生产车间的机械设备具备高精度和高速度,确保…

新增守护进程管理、支持添加MySQL远程数据库,支持PHP版本切换,1Panel开源面板v1.5.0发布

2023年8月14日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.5.0版本。 在这个版本中,1Panel新增了守护进程管理功能;支持添加MySQL远程数据库;支持添加FTP/S和WebDAV的SFTP服务;支持PHP版本切换。此外&am…

Android app专项测试之耗电量测试

前言 耗电量指标 待机时间成关注目标 提升用户体验 通过不同的测试场景,找出app高耗电的场景并解决 01、需要的环境准备 1、python2.7(必须是2.7,3.X版本是不支持的) 2、golang语言的开发环境 3、Android SDK 此三个的环境搭建这里就不详细说了&am…

LeetCode 36题:有效的数独

题目 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图&#xff…

8.14 ARM

1.练习一 .text 文本段 .global _start 声明一个_start函数入口 _start: _start标签,相当于C语言中函数mov r0,#0x2mov r1,#0x3cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0stop: stop标签,相当于C语言中函数b stop 跳转到stop标签下的第一条…

如何给 Keycloak 用户加上“部门”、“电话”等自定义属性

Keycloak 是一款开源的用户认证和授权软件。在默认安装情况下,它只给新创建的用户提供了 email 属性,但是在许多应用场景中,客户都会要求给新创建的用户增加诸如“部门”、“电话”等自定义属性。 本文会介绍如何给 keycloak 中新创建的用户…

应用 - 行为分析篇

前言 以商超项目为例,为了更好的给用户提供服务,我们需要了解到用户喜欢什么,我的产品中哪些是用户感兴趣的,哪些是不感兴趣的。我应该在推荐栏目中给用户推荐的内容是哪些。 基于这些业务场景,我们需要一套行为分析…

认识Transformer:入门知识

视频链接: https://www.youtube.com/watch?vugWDIIOHtPA&listPLJV_el3uVTsOK_ZK5L0Iv_EQoL1JefRL4&index60 文章目录 Self-Attention layerMulti-head self-attentionPositional encodingSeq2Seq with AttentionTransformerUniversal Transformer Seq2Seq …

领航优配:券商板块热度不减,华林证券涨停,中银证券等走高

券商板块15日午后再度走强,截至发稿,华林证券涨停,中银证券涨超7%,兴业证券涨超3%,东方财富、华泰证券、太平洋等涨逾2%。 组织表示,当前券商PB估值为1.36倍,位于2020年以来的34%分位点附近&…