当前位置: 首页 > 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;您可能需要选择要包含在提示中的哪…...

077_D11、卡车小镇.Trucktown.适合3-8岁资料网盘下载

D11、卡车小镇.Trucktown.适合3-8岁资料网盘下载 如果你正在寻找一份适合低龄儿童启蒙观看或亲子共学的英语类动画资源&#xff0c;那么 D11、卡车小镇.Trucktown.适合3-8岁资料网盘下载 这类内容通常会是很多家长关注的方向。尤其是在家庭英语启蒙、日常磨耳朵和兴趣培养场景…...

从零到一:在Ubuntu上搭建完整的GNU Radio Python开发环境

1. 环境准备&#xff1a;Ubuntu系统与基础工具 在开始搭建GNU Radio开发环境之前&#xff0c;我们需要确保系统基础环境已经就绪。我推荐使用Ubuntu 20.04 LTS版本&#xff0c;这个版本不仅长期支持&#xff0c;而且软件仓库中的GNU Radio和相关依赖都比较新且稳定。如果你还在…...

别再只改单元格了!PyQt5 QTableWidget表头(horizontalHeader/verticalHeader)的5个实用技巧与避坑指南

PyQt5 QTableWidget表头深度优化&#xff1a;5个实战技巧与性能陷阱解析 在开发数据密集型桌面应用时&#xff0c;表格控件往往是核心交互组件。虽然大多数PyQt5开发者都能熟练操作单元格内容&#xff0c;但表头(horizontalHeader/verticalHeader)的高级功能却经常被忽视。实际…...

Halcon模板匹配后,如何用vector_angle_to_rigid和affine_trans_contour_xld把结果“画”出来?

Halcon模板匹配结果可视化&#xff1a;从矩阵到轮廓的实战指南 在工业视觉项目开发中&#xff0c;模板匹配成功后如何将抽象的匹配结果直观呈现出来&#xff0c;往往是新手工程师面临的第一个"拦路虎"。本文将手把手带你理解匹配参数的实际意义&#xff0c;并完整演示…...

g4f提供的模型调用:python JavaScript和curl

g4f提供模型的使用&#xff0c;例子页面&#xff1a;G4F - Providers and Models 可以这样&#xff1a; python from g4f.client import Clientclient Client() response client.chat.completions.create(model"",messages[{"role": "user"…...

Windows更新故障的终极解决方案:Reset Windows Update Tool深度技术解析

Windows更新故障的终极解决方案&#xff1a;Reset Windows Update Tool深度技术解析 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool…...

如何快速掌握NIF文件编辑:面向游戏开发者的完整NifSkope指南

如何快速掌握NIF文件编辑&#xff1a;面向游戏开发者的完整NifSkope指南 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope NifSkope是一款强大的开源工具&#xff0c;专门用于打开和编辑NetImmerse文件…...

2026论文润色避坑指南:免费降AI率工具靠谱吗?深度横评10款软件+排雷名单

现在写论文最怕的&#xff0c;已经不是查重了。怕什么&#xff1f;怕那个AIGC率太高。 真的&#xff0c;越来越多学校开始抓AIGC检测报告了&#xff0c;重复率放一边&#xff0c;就看你AI痕迹多不多。我自己就是刚爬出坑的25届学姐&#xff0c;这坑我踩得死死的。怎么说呢&…...

STM32G0系列读保护功能实战:从代码实现到问题解决

1. STM32G0读保护功能入门指南 第一次接触STM32G0的读保护功能时&#xff0c;我也是一头雾水。这个功能就像给你的代码上了一把锁&#xff0c;防止别人通过调试接口读取芯片内部的内容。想象一下&#xff0c;你辛苦开发的算法被别人轻易复制&#xff0c;那感觉就像自家保险箱被…...

从人工撰写到秒级交付,AI生成接口文档的准确率跃升至98.7%——2026奇点大会白皮书首曝训练数据闭环架构

第一章&#xff1a;从人工撰写到秒级交付&#xff0c;AI生成接口文档的准确率跃升至98.7%——2026奇点大会白皮书首曝训练数据闭环架构 2026奇点智能技术大会(https://ml-summit.org) 传统接口文档编写依赖开发者手动同步代码变更、补充参数说明与示例请求&#xff0c;平均耗时…...