当前位置: 首页 > news >正文

Python爬虫:抓取表情包的下载链接

请添加图片描述

Python爬虫:抓取表情包的下载链接

        • 1. 前言
        • 2. 具体实现
        • 3. 实现代码

1. 前言

最近发现了一个提供表情包的网址,觉得上面的内容不错,于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言,实现这个挺简单的,就是找到提供表情包json数据的api接口即可,接口中没有任何加密操作。网址为:表情包

2. 具体实现

还是通过搜索功能,找到匹配搜索词的相关表情包,如下:
请添加图片描述
可以发现,当向下滑动滚动条时,表情包数据进行动态刷新增加,由此可以判定这个界面的表情包数据是通过请求api接口,然后一些js操作实现的。直接使用requests模块访问当前界面,你是无法访问到这个表情包数据的。实现上的确是这样,打开开发者工具,来到网络下的Fetch/XHR,可以找到一个api接口链接,打开这个接口,那里面有我们想要的表情包数据。
请添加图片描述
这个接口链接为:https://www.dbbqb.com/api/search/json?start=0&w=%E9%BE%99%E7%8E%8B,明显这个w后的参数值应该就是我们搜索的词进行的编码操作。
请添加图片描述
至于start后的参数值,应该用于分页的操作,通过向下滑动滚动条,发现这个参数值初始为0,第二页为100,第三页为200,。。。。。。
至于这个接口中的数据,的确是图片的下载链接,如下:
在这里插入图片描述

3. 实现代码

实现代码仅仅把这些表情包的下载链接获取到,至于怎样下载,读者自行操作。可以考虑使用

from urllib import requesturl = 'https://image.dbbqb.com/202308120759/a94be64f09fb4528ed75039698d47321/NEN22'
request.urlretrieve(url=url,filename='龙王.png')

或者

import requestsurl = 'https://image.dbbqb.com/202308120759/a94be64f09fb4528ed75039698d47321/NEN22'
rsp = requests.get(url=url)
with open(file='龙王2.png',mode='wb') as f:f.write(rsp.content)

参考代码如下:

import requests
import json
from urllib import parse
from crawlers.userAgent import useragentkeyword = input('搜索关键词:')
pages = input('页数:')
u = useragent()
# pages
url2 = 'https://image.dbbqb.com/'
encode_kw = parse.quote(keyword)
print(encode_kw)
for i in range(int(pages)):url = f'https://www.dbbqb.com/api/search/json?start={i*100}&w={encode_kw}'print(f'第{i + 1}页->url:{url}')headers = {'user-agent':u.getUserAgent(),"Accept":"application/json","Cache-Control":"no-cache","Connection":"keep-alive","Content-Type":"application/json","Cookie":"Hm_lvt_7d2469592a25c577fe82de8e71a5ae60=1690285252,1690367974,1690963288,1691797900; Hm_lpvt_7d2469592a25c577fe82de8e71a5ae60=1691798363","sec-ch-ua":";Not A Brand;v=99, Chromium;v=94","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"Windows","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","Web-Agent":"web",}rsp = requests.get(url=url,headers=headers)arr = json.loads(rsp.text)for e in arr:download_url = url2 + e['path']print(download_url)

运行结果:请添加图片描述
上述内容仅学习使用,不能用于商业活动,希望读者切记

相关文章:

Python爬虫:抓取表情包的下载链接

Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言 最近发现了一个提供表情包的网址,觉得上面的内容不错,于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言,实现这个挺简单的,就是找到提供表情包…...

(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码

参考文献: [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107. 这两篇文章不管是从模型、…...

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…...

题目:2511.最多可以摧毁的敌人城堡数量

​题目来源: leetcode题目,网址:2511. 最多可以摧毁的敌人城堡数目 - 力扣(LeetCode) 解题思路: 顺序遍历数组,记录上一个我军城堡和没有城堡的位置。当碰到空位置时,若上一次更新的…...

22 | 书籍推荐数据分析

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn import neighbors from sklearn.model_selection import train_test_split from sklearn.preprocessing import...

vscode extension 怎么区分dev prod

开发模式注入环境变量 使用vsode 提供的api...

Java学习手册——第一篇Java简介

今后Java学习手册就来给大家梳理JavaSE的基础知识啦, 除了这个专栏我们还有其他专栏:前端、安全、后端等。 希望大家可以在这里一起讨论学习哟~ Java学习手册——第一篇Java简介 1. Java基础知识2. Java能干嘛3. Java基础环境搭建 1. Java基础知识 出生…...

Prometheus流程图(自绘)-核心组件-流程详解

阿丹手绘流程图:图片可能有点小查看的时候放大看看哈! prometheus核心组件 prometheus server Prometheus Server是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。Prometheus Server可以通过静态配置管理…...

回归模型常见评估指标mae,mse,rmse

文章目录 MAE(平均绝对误差)计算公式sklearn实现numpy实现mse(均方误差)计算公式sklearn实现numpy实现rmse(均方根误差)计算公式sklearn实现MAE(平均绝对误差) 计算公式 MAE ⁡ ( y ,...

服务器数据恢复-断电导致ext4文件系统文件丢失的数据恢复案例

服务器数据恢复环境: 一台服务器挂载一台存储设备,存储中划分一个Lun;服务器操作系统是Linux centos,EXT4文件系统。 服务器故障&分析: 意外断电导致服务器操作系统无法启动,系统在修复后可以正常启动&…...

链表(基础详解、实现、OJ笔试题)

文章目录 🧚什么是链表(链表概念及分类)链表分类单链表和双链表的区别 🚴‍♂️单链表、双向链表的实现单链表的实现双向链表的实现 🍉链表经典OJ笔试题反转单链表移除链表元素合并两个有序链表链表分割链表的中间结点…...

W5100S-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W5100S-EVB-PICO开发板通过DNS解析www.baidu.com(百度域名)成功得到其IP地址,那么本章我们将用我们的开发板作为客户端去连接服务器,并做数据回环测试:收到服务器发送的数据,并回传给服务…...

大数据-玩转数据-Redis 安装与使用

一、说明 大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis. 此处选择的Linux版本为CentOS 7. Redis的官方网站地址:http://download.redis.io/releases 二、下载 m…...

实时指标-1日留存率

2个DWD层 登录→kafka注册→kafka1个DWS 弄2条流,从kafka读取数据将昨日注册数据存到状态中,TTL为2天,存到map状态中,key为注册日期,value为set,存储注册的uid将登录流和注册流进行连接来一条登录数据&…...

【玩转23种Java设计模式】行为型模式篇:责任链模式

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 汇总目录链接&…...

【C#】获取电脑CPU、内存、屏幕、磁盘等信息

通过WMI类来获取电脑各种信息&#xff0c;参考文章&#xff1a;WMI_04_常见的WMI类的属性_wmi scsilogicalunit_fantongl的博客-CSDN博客 自己整理了获取电脑CPU、内存、屏幕、磁盘等信息的代码 #region 系统信息/// <summary>/// 电脑信息/// </summary>public p…...

途乐证券-最准确的KDJ改良指标?

KDJ目标是技术剖析的一种重要目标之一&#xff0c;它是利用随机目标&#xff08;%R&#xff09;发展而来的&#xff0c;是一种反映商场超买和超卖状况的买卖目标。KDJ目标由快线&#xff08;K线&#xff09;、慢线&#xff08;D线&#xff09;和随机值&#xff08;J线&#xff…...

数据结构——线性表

文章目录 线性表的定义和基本操作顺序表线性表的链式表示 线性表的定义和基本操作 线性表是具有相同数据类型的(n≥0)个数据元素的有限序列&#xff0c;其中n为表长&#xff0c;当n0时线性表是一个空表。若用L命名线性表&#xff0c;则其中一般表示为&#xff1a;L(a1,a2,a3, …...

SpringBoot系列之基于Jersey实现文件上传API

前言 JAX-RS&#xff1a;JAX-RS是可以用可以用于实现RESTFul应用程序的JAVA API&#xff0c;给开发者提供了一系列的RESTFul注解Jersey&#xff1a;是基于JAX-RX API的实现框架&#xff0c;用于实现RESTful Web 服务的开源框架。 JAX-RX常用的注解&#xff1a; javax.ws.rs.Pa…...

【LangChain】Prompts之示例选择器

LangChain学习文档 【LangChain】向量存储(Vector stores)【LangChain】向量存储之FAISS【LangChain】Prompts之Prompt templates【LangChain】Prompts之自定义提示模板【LangChain】Prompts之示例选择器 概要 如果您有大量示例&#xff0c;您可能需要选择要包含在提示中的哪…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...