首页
关于
留言
友情链接
推荐
粽子SHOP
Search
1
粽子SHOP即时到账 微信插件(MyWechat)
5,399 阅读
2
PS人像美颜插件 DR5.0增强版 一键人像磨皮/美白/高低频
4,772 阅读
3
Windows Navicat Premium16.3.2 免安装 绿色汉化版
4,061 阅读
4
彩虹聚合登录API源码/上元二开 QQ互联分发
3,442 阅读
5
LayuiTable导出所有数据,无需修改后端代码
2,699 阅读
程序源码
PHP源码
HTML源码
精品程序
易语言源码
Python源码
活动资讯
技术分享
实用代码
实用工具
学习笔记
PHP笔记
前端笔记
uniapp
Python
逆向
docker
thinkPHP
登录
Search
标签搜索
python
docker
typescript
swoole
thinkphp6
php
R语言
composer
composer命令
tp6
tp中间件
vue
node.js
粽子shop
thinkSwoole
微信监控
timi
王者荣耀
王者荣耀ios扫码
layer
烂掉的ay
累计撰写
106
篇文章
累计收到
1,195
条评论
首页
栏目
程序源码
PHP源码
HTML源码
精品程序
易语言源码
Python源码
活动资讯
技术分享
实用代码
实用工具
学习笔记
PHP笔记
前端笔记
uniapp
Python
逆向
docker
thinkPHP
页面
关于
留言
友情链接
推荐
粽子SHOP
搜索到
39
篇与
技术分享
的结果
2025-06-03
知网滑块验证 解密 文献爬虫 数据抓取
最近需要抓取知网的文献资料,但是在打开文章时,会重定向到一个验证网址,并弹出一个滑块,让你进行验证。打开控制台,抓取两个接口获取滑块信息https://kns.cnki.net/verify-api/get这个接口会返回滑块图片信息(jigsawImageBase64、originalImageBase64),以及token、secretKeybase64 就是两张图片,一张是大图,一张是小图。token 需要提交给验证接口secretKey 参与坐标加密验证滑块信息https://kns.cnki.net/verify-api/web/check这个接口需要提交一些参数,最重要的是 pointJson这个是由坐标信息:{"x":0,"y":5} 和 secretKey 进行加密之后的结果{dotted startColor="#ff6c6c" endColor="#1989fa"/}{mtitle title="下面是一些重要的部分"/}识别小图在大图中的位置可以使用 opencv-python 包, 附带函数:''' 识别滑块位置 ''' def find_template_position(self,big_img_base64, small_img_base64): # 将 Base64 字符串解码为图像数据 def base64_to_image(base64_str): # 去掉可能的头部信息(如 "data:image/png;base64,") if "," in base64_str: base64_str = base64_str.split(",")[1] # 解码为字节数据 img_bytes = base64.b64decode(base64_str) # 转换为 numpy 数组 img_array = np.frombuffer(img_bytes, dtype=np.uint8) # 用 OpenCV 解码图像 img = cv2.imdecode(img_array, cv2.IMREAD_GRAYSCALE) return img # 解码 Base64 并转为灰度图 big_img = base64_to_image(big_img_base64) small_img = base64_to_image(small_img_base64) # Canny边缘检测 edges_big = cv2.Canny(big_img, 50, 150) edges_small = cv2.Canny(small_img, 50, 150) # 轮廓匹配 res = cv2.matchTemplate(edges_big, edges_small, cv2.TM_CCOEFF_NORMED) _, _, _, max_loc = cv2.minMaxLoc(res) return max_loc生成客户端ID在获取滑块信息时,要提交一个 clientUid 参数,但是好像使用固定的也没关系''' 生成客户端ID ''' def generate_clientUid(self): hex_digits = '0123456789abcdef' uuid_chars = [] # 生成 32 个随机十六进制字符(无分隔符) for _ in range(32): uuid_chars.append(random.choice(hex_digits)) # 固定版本号和变体标识位(符合 UUID v4 规范) uuid_chars[12] = '4' # UUID 版本位 uuid_chars[16] = hex_digits[(int(uuid_chars[16], 16) & 0x3 | 0x8)] # 变体位 return ''.join(uuid_chars)pointJson 加密方式point = {"x": x + 3, "y": 5} # x轴+3 y轴固定为5 # 转为json格式并进行加密 json_str = json.dumps(point, separators=(',', ':')) pointJson = self.encrypt_point_json(json_str, verify_data['secretKey']) print(f"识别滑块坐标:{point} 坐标加密:{pointJson}")pointJson 加密函数隐藏内容,请前往内页查看详情验证成功在滑块验证成功后,需要携带 captchaId访问文章,就可以免验证了。returnUrl = check_reslut_data.get("returnUrl") returnUrl = f"{returnUrl}&captchaId={check_reslut_data['captchaId']}"行为异常如果出现行为异常,也需要进行滑块验证,但是这个滑块是单机的,也就是说可以忽略。抓取页面的v-value ,访问下面这个地址,就会返回一个可以访问的文章地址。隐藏内容,请前往内页查看详情本文仅学习研究记录。
2025年06月03日
15 阅读
1 评论
0 点赞
2025-04-02
微信(3.9.12)收款统计助手 免费码支付即时到账工具
基于微信3.9.12.17的微信收款助手V0.0.1(测试版本),不限制平台,支持心跳和订单通知,让你轻松接入即使到账的工具注意事项{x} 先在本地电脑尝试,测试没问题再上服务器、挂机宝 {x} 上服务器、挂机宝,建议先养号(纯挂微信),挂一段时间 {x} 必须下载对应的微信版本 {x} Hook有风险,使用需谨慎 {x} 免费软件,仅供学习、交流,下载后48小时内删除软件截图不限制码支付平台,可自己接入以粽子SHOP为例{x} 心跳配置地址:https://你的主机或域名/open/codepay/online?token=后台设置的Token参数:wxpay=1请求方式:post间隔:30-60{x} 通知配置地址:https://你的主机或域名/open/codepay/handle?token=后台设置的Token参数:money=[金额]&type=wxpay请求方式:post微信版本下载(3.9.12.17)https://www.123684.com/s/t8d7Td-I90ph?提取码:315f微信收款统计助手隐藏内容,请前往内页查看详情
2025年04月02日
119 阅读
6 评论
0 点赞
2025-03-31
DBeaver 免费开源多平台数据库管理软件 + 正版注册码生成
再见收费的Navicat,良心推荐开源工具DBeaver,支持几乎所有库;最近体验了一把免费的DBeaver,原因是很多人捧它。好家伙,是真的好用,这里推荐给大家。{ } DBeaver Community是一款免费开源的数据库管理软件,所有功能都免费,DBeaver为开发人员、SQL程序员、数据库管理员和分析师提供免费的多平台数据库工具。 { } 支持任何具有JDBC驱动程序的数据库(这基本上意味着-任何数据库)。 { } EE版本还支持非jdbc数据源(WMI、MongoDB、Cassandra、redis)。具有元数据编辑器、SQL编辑器、富数据编辑器、ERD、数据导出/导入/迁移、SQL执行计划等功能。支持数据库元数据浏览支持元数据编辑(包括表,列,键,索引)支持SQL语句和脚本的执行支持SQL关键字高亮显示(依据与不同是数据库)简单友好的显示页面https://dbeaver.io/download/社区版(DBeaver Community){x} 免费,下载即用。 {x} 只支持部分数据库(比如Mysql)pro专业版(DBeaver Ultimate){x} 收费,通过某些工具可以自己生成注册码(见下方) {x} 支持所有数据库1. 下载DBeaver Ultimate(https://dbeaver.com/download/)2. 下载注册码生成工具(下方附件)3. 安装不要安装到带有空格的目录!!!在D盘新建一个dbeaver目录,安装的时候就选择这个目录,比如安装在:D:soft dbeaver\4.解压注册码生成工具,找到安装目录,复制进去D:softdbeaverlicenseGenerater5.运行windowsRun.bat (根据系统运行脚本)6.运行软件(激活成功)注册码生成工具下载隐藏内容,请前往内页查看详情
2025年03月31日
188 阅读
13 评论
1 点赞
2025-03-17
windows和mac键盘快捷键同步兼容
因为一台windows和一台mac老是切换,鼠标还能接受,但是键盘快捷键使用真的不习惯,尤其是复制粘贴!!!怎么让windows和mac同步呢?其实很简单,在mac上修改一下就行了。在设置中找到键盘 -> 键盘快捷键修饰键 -> 修改第二个 control 为 command这样 control就跟command映射上了。control + C/V 等于 command + C/V也可以修改一下QQ的截图快捷键
2025年03月17日
86 阅读
0 评论
0 点赞
2025-03-15
Python-openAI 助手接口封装(含创建助手、文件上传、线程、消息、运行)
最近的项目中用到GPT,简单封装一下。包含创建助手、上传文件、创建线程、创建消息线程、运行线程、删除等操作。我是使用的异步,同步大差不大,去掉async、await就行了,调用方法都是一样的。官方API接口:https://platform.openai.com/docs/api-reference/assistants核心代码隐藏内容,请前往内页查看详情测试运行api_key = "sk----------" assistant_id = "asst_R3KqDZNg4QPzxd6U56INh0Cd" thread_id = "thread_vWZ9QrPBPTDHrtxIiSIof3hs" file_assistant_gpt = FileAssistant(api_key,assistant_id, thread_id) await file_assistant_gpt.run_file_analysis("data.txt","请帮我分析该文件...")
2025年03月15日
110 阅读
0 评论
0 点赞
2025-03-14
自动化开发协助工具 UISpy
常用窗口工具有 spy++ 和 uispy 两种,spy++ 显示的很全,各种窗口都给你展示出来,看着很多很乱,相比来讲 uispy 就比较简洁实用了,只展示主要的窗口,节目很整洁很清晰。用 uiautomation 进行自动化开发,可以用这个工具。隐藏内容,请前往内页查看详情
2025年03月14日
56 阅读
0 评论
0 点赞
2025-03-14
python 异步网络请求封装函数 带重试机制,支持get、post
python基于httpx的异步网络请求,带重试机制,支持post、get,自定义header、携带cookie、等功能。函数import asyncio from typing import Optional import httpx ''' 带重试机制的网络请求函数 post、get ''' # get请求 重试机制 async def curl_get( client: httpx.AsyncClient, url: str, id:int = 0, cookie: Optional[dict] = None, headers: Optional[dict] = None, retries: int = 3): # 设置重试次数 for attempt in range(1,retries + 1): try: response = await client.get(url, cookies=cookie, headers=headers) response.raise_for_status() # 如果请求失败,抛出异常 return {"code": 1,"id":id, "response":response,"attempt":attempt} # 返回解析后的 JSON 数据 except httpx.HTTPStatusError as e: if attempt < retries: await asyncio.sleep(1) # 重试前暂停1秒 else: return {"code": 0,"id":id, "error": f"请求失败:{e.response.status_code}","attempt":attempt} except httpx.RequestError as e: print("网络错误",e) # 捕获网络错误(例如请求超时、连接错误等) if attempt < retries: await asyncio.sleep(2) # 重试前暂停1秒 else: return {"code": 0, "id":id,"error": f"网络错误 [已重试{str(attempt)}次]:{str(e)}","attempt":attempt} except Exception as e: if attempt < retries: await asyncio.sleep(1) # 重试前暂停1秒 else: return {"code": 0, "id": id, "error": f"请求错误 [已重试{str(attempt)}次]:{str(e)}", "attempt": attempt} return {"code": 0,"id":id, "error": "重试次数已达上限","attempt":attempt} # post请求 重试机制 async def curl_post( client: httpx.AsyncClient, url: str, data = None, cookie: Optional[dict] = None, headers: Optional[dict] = None, retries: int = 3): # 设置重试次数 for attempt in range(1,retries + 1): try: response = await client.post(url=url, cookies=cookie, headers=headers, data=data) response.raise_for_status() # 如果请求失败,抛出异常 html = response.text return {"code": 1, 'response':response, "data":html , "attempt": attempt } # 返回解析后的 JSON 数据 except httpx.HTTPStatusError as e: # 捕获 HTTP 错误(例如 404 或 500 错误) if attempt < retries: await asyncio.sleep(1) # 重试前暂停1秒 else: return {"code": 0, "error": f"请求失败:{e.response.status_code}", "attempt": attempt} except httpx.RequestError as e: # 捕获网络错误(例如请求超时、连接错误等) if attempt < retries: await asyncio.sleep(1) # 重试前暂停1秒 else: return {"code": 0,"error": f"请求错误 [{str(attempt)}] {str(e)}", "attempt": attempt} except Exception as e: if attempt < retries: await asyncio.sleep(1) # 重试前暂停1秒 else: return {"code": 0, "id": id, "error": f"请求错误 [{str(attempt)}]:{str(e)}", "attempt": attempt} return {"code": 0, "error": "重试次数已达上限","attempt":attempt}使用async with httpx.AsyncClient() as client: reslut = await curl_get(client, url) if reslut.get("code") != 1: return reslut.get("error") response = reslut.get("response") json = response.json()
2025年03月14日
78 阅读
0 评论
0 点赞
2025-03-08
R语言顶刊配色包TheBestColors
与Matlab相比,R语言在绘图方面有着天然的优势。比如在配色方面,R语言有各式各样现成的包,按理说配色这种事应该很方便才对。但实际体验下来,发现似乎不是那么回事。首先,你很难记住每个包的调用方法以及每种配色方案对应的名称。尤其在你需要不停更换配色,从而确定哪种配色方案更加适合自己的时候,每换一次都要手敲一遍配色方案名称,很是麻烦。另外一点,R语言确实有很多现成的配色包,但选择太多,有时候也是一种负担……为了方便自己画图,我整理了CNS顶刊文章中常用的以及个人最喜欢的共计100种配色方案,并制作了一款R语言配色包,名为TheBestColors。安装方法将“TheBestColors_0.1.0.tar.gz”放在自己想要的路径下,比如D盘的R文件夹,然后运行:install.packages("D:/R/TheBestColors_0.1.0.tar.gz", repos = NULL, type = "source")等待片刻,完成安装。然后通过library加载即可使用:library(TheBestColors)下载地址隐藏内容,请前往内页查看详情作者:阿昆原文地址:https://zhuanlan.zhihu.com/p/712672923
2025年03月08日
138 阅读
3 评论
0 点赞
2024-12-13
docker中安装Python和R语言,并指定版本和R包
最近开发的一个项目,用到了R语言脚本。因为开发环境版本是4.4.2,所以生产环境也要装4.4.2。本来是这样写的,R语言版本指定不了。不管怎么写版本号 r-base=xxx 都安装不上,说不存在。# 安装R语言环境(默认是安装的4.2,但是我要装4.4) RUN apt-get update && apt-get install -y \ --fix-missing \ r-base \ r-cran-devtools \ build-essential \ libcurl4-openssl-dev \ libssl-dev \ libxml2-dev && \ rm -rf /var/lib/apt/lists/*搞不懂,换个思路,直接下载4.2.2版本安装# 使用 python 3.12 作为基础镜像 FROM python:3.12 # 设置工作目录 WORKDIR /app # 安装系统依赖和编译工具 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ wget \ libcurl4-openssl-dev \ libssl-dev \ libxml2-dev \ ca-certificates \ gfortran \ && rm -rf /var/lib/apt/lists/* # 下载并安装 R 4.4.2 源代码 RUN wget https://cran.r-project.org/src/base/R-4/R-4.4.2.tar.gz && \ tar -xvzf R-4.4.2.tar.gz && \ cd R-4.4.2 && \ ./configure && \ make && \ make install && \ cd .. && rm -rf R-4.4.2 R-4.4.2.tar.gz \ R --version # 设置 CRAN 镜像源为清华镜像并安装 R 包 RUN echo "options(repos = c(CRAN = 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/'))" > /usr/local/lib/R/etc/Rprofile.site && \ Rscript -e "install.packages('pheatmap')" && \ Rscript -e "install.packages('BiocManager')" && \ echo "options(BioC_mirror = 'https://mirrors.tuna.tsinghua.edu.cn/bioconductor')" >> /usr/local/lib/R/etc/Rprofile.site && \ Rscript -e "BiocManager::install(version = '3.20')" && \ Rscript -e "BiocManager::install(c('GEOquery', 'ggplot2', 'readxl', 'readr', 'openxlsx', 'dplyr', 'clusterProfiler', 'limma', 'DESeq2'), ask = FALSE)" # 进入容器 # 查看R的安装目录:which R # 查看R版本:R --version 或 Rscript -e "R.version$version.string" # 查看R镜像:Rscript -e "print(getOption('repos'))" # 查看BiocManager版本: Rscript -e "packageVersion("BiocManager")" (BiocManager包的版本号。根据你当前的环境,它可能是通过 CRAN 安装的版本,通常在 1.x 系列) # 查看Bioconductor版本: Rscript -e "BiocManager::version()" (Bioconductor的版本。BiocManager 会根据你所安装的 Bioconductor 版本返回一个版本号。Bioconductor 的版本通常是以 3.x 开头的,例如 3.20。Bioconductor 版本是根据 R 版本来决定的,与 CRAN 上的 BiocManager 版本号是分开的。) # 查看BiocManager镜像: Rscript -e "options('BioC_mirror')" # 将当前目录的内容复制到容器中 COPY . /app # 安装 Python 项目所需的依赖 RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2024年12月13日
308 阅读
0 评论
0 点赞
2024-11-16
Clash代理 科学上网工具 Clash中文版 Windows/Mac
Clash.for.Windows.Setup.0.20.39_Opt-1_中文版ClashX-Pro.dmgClashX.dmgWindowsMacWindows 版本下载2025.03.27 已补链接隐藏内容,请前往内页查看详情{cloud title="夸克下载" type="default" url="https://pan.quark.cn/s/44272bbec344" password=""/}Mac 版本下载隐藏内容,请前往内页查看详情
2024年11月16日
837 阅读
81 评论
0 点赞
1
2
...
4