襄阳网站建设公司,辽阳企业网站建设服务,南通市优普网站建设,云羽网络做网站怎么样Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言
最近发现了一个提供表情包的网址#xff0c;觉得上面的内容不错#xff0c;于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言#xff0c;实现这个挺简单的#xff0c;就是找到提供表情包… Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言
最近发现了一个提供表情包的网址觉得上面的内容不错于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言实现这个挺简单的就是找到提供表情包json数据的api接口即可接口中没有任何加密操作。网址为表情包
2. 具体实现
还是通过搜索功能找到匹配搜索词的相关表情包如下 可以发现当向下滑动滚动条时表情包数据进行动态刷新增加由此可以判定这个界面的表情包数据是通过请求api接口然后一些js操作实现的。直接使用requests模块访问当前界面你是无法访问到这个表情包数据的。实现上的确是这样打开开发者工具来到网络下的Fetch/XHR可以找到一个api接口链接打开这个接口那里面有我们想要的表情包数据。 这个接口链接为https://www.dbbqb.com/api/search/json?start0w%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(urlurl,filename龙王.png)或者
import requestsurl https://image.dbbqb.com/202308120759/a94be64f09fb4528ed75039698d47321/NEN22
rsp requests.get(urlurl)
with open(file龙王2.png,modewb) 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 fhttps://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_7d2469592a25c577fe82de8e71a5ae601690285252,1690367974,1690963288,1691797900; Hm_lpvt_7d2469592a25c577fe82de8e71a5ae601691798363,sec-ch-ua:;Not A Brand;v99, Chromium;v94,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(urlurl,headersheaders)arr json.loads(rsp.text)for e in arr:download_url url2 e[path]print(download_url)
运行结果 上述内容仅学习使用不能用于商业活动希望读者切记。