<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[周小董]]></title><description><![CDATA[万物互联，环环相扣。]]></description><link>https://blog.csdn.net/xc_zhou</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; xc_zhou]]></copyright><item><title><![CDATA[[1367]npm 安装 canvas 报错 node-gyp ERR]]></title><link>https://blog.csdn.net/xc_zhou/article/details/163612803</link><guid>https://blog.csdn.net/xc_zhou/article/details/163612803</guid><author>xc_zhou</author><pubDate>Sun, 09 Aug 2026 15:50:44 +0800</pubDate><description><![CDATA[解决npm安装canvas报node-gyp错误的方法 问题原因：Windows系统缺少C++编译环境和canvas依赖库（如cairo.h） 解决方案： 安装Visual Studio Build Tools（推荐长期开发使用） 下载VS2022构建工具 安装"使用C++的桌面开发"组件 勾选MSVC编译器和Windows SDK 配置预编译镜像（快速方案） set canvas_binary_host_mirror=https://registry.npmmirror.com/-/binary/canv]]></description><category></category></item><item><title><![CDATA[[1366]python脚本加密工具PyArmor]]></title><link>https://blog.csdn.net/xc_zhou/article/details/162526535</link><guid>https://blog.csdn.net/xc_zhou/article/details/162526535</guid><author>xc_zhou</author><pubDate>Thu, 02 Jul 2026 23:30:00 +0800</pubDate><description><![CDATA[PyArmor是一个Python脚本加密工具，提供安装、加密、授权绑定和打包等功能。通过pip安装后，可使用命令加密单个脚本或整个项目，并支持设置有效期和绑定硬件信息（如MAC地址）来限制运行环境。高级选项包括动态指令生成和字符串加密。加密后的脚本需与运行时文件一起发布。工具还支持打包成独立可执行文件，并提供多种命令选项进行灵活配置，适用于保护Python代码的商业分发。]]></description><category></category></item><item><title><![CDATA[[1365]docker界面管理portainer-ce]]></title><link>https://blog.csdn.net/xc_zhou/article/details/162526508</link><guid>https://blog.csdn.net/xc_zhou/article/details/162526508</guid><author>xc_zhou</author><pubDate>Thu, 02 Jul 2026 23:15:00 +0800</pubDate><description><![CDATA[Portainer CE是一个基于网页的Docker管理工具，简化容器、镜像和网络的管理操作。安装步骤包括：创建数据卷（docker volume create portainer_data），运行容器（映射9443 HTTPS端口和8000边缘计算端口），然后通过浏览器初始化设置。核心功能包括容器管理、镜像操作、数据卷/网络配置以及应用栈部署。建议使用9443端口替代旧版9000端口以获得更高安全性，并通过数据卷确保配置持久化。若需全新部署，可停止旧容器后创建新数据卷重新安装，并通过防火墙放行9443端口]]></description><category></category></item><item><title><![CDATA[程序猿工具库Py3Tools]]></title><link>https://blog.csdn.net/xc_zhou/article/details/162347274</link><guid>https://blog.csdn.net/xc_zhou/article/details/162347274</guid><author>xc_zhou</author><pubDate>Sat, 27 Jun 2026 18:15:00 +0800</pubDate><description><![CDATA[程序猿工具库]]></description><category></category></item><item><title><![CDATA[[1364]bcrypt用法--密码哈希]]></title><link>https://blog.csdn.net/xc_zhou/article/details/162279160</link><guid>https://blog.csdn.net/xc_zhou/article/details/162279160</guid><author>xc_zhou</author><pubDate>Wed, 24 Jun 2026 23:15:00 +0800</pubDate><description><![CDATA[摘要： Python的bcrypt库提供安全的密码哈希功能，基于Blowfish算法，支持加盐和可调工作因子（默认12次迭代），有效防御彩虹表攻击。核心操作包括： 生成哈希：通过hashpw(password, gensalt())生成含盐的哈希值，无需单独存储盐值； 验证密码：使用checkpw(input_password, stored_hash)自动提取盐值比对； 注意事项：密码需转为bytes类型，长度限制72字节，建议rounds=12-14平衡安全性与性能，推荐使用2b版本前缀。进阶功能如kd]]></description><category></category></item><item><title><![CDATA[[1363]申请域名建站全流程]]></title><link>https://blog.csdn.net/xc_zhou/article/details/161726735</link><guid>https://blog.csdn.net/xc_zhou/article/details/161726735</guid><author>xc_zhou</author><pubDate>Fri, 05 Jun 2026 23:15:00 +0800</pubDate><description><![CDATA[本文提供了完整的域名申请与网站部署指南，涵盖国内外主流域名注册商对比（如阿里云、Cloudflare等），详细解析了从域名购买、实名认证、ICP备案到服务器部署的全流程。特别针对阿里云平台，分步骤演示了域名解析、安全组配置、Nginx反向代理设置等关键操作，并附常见问题解决方案（如端口冲突处理）。重点提醒国内用户必须完成域名实名认证和ICP备案（约15-20天），推荐开启自动续费与隐私保护功能。通过清晰的流程图示和命令行示例，帮助用户快速实现从域名注册到网站上线的全链路操作。]]></description><category></category></item><item><title><![CDATA[[1362]apscheduler报错RuntimeError: can‘t start new thread]]></title><link>https://blog.csdn.net/xc_zhou/article/details/161726723</link><guid>https://blog.csdn.net/xc_zhou/article/details/161726723</guid><author>xc_zhou</author><pubDate>Fri, 05 Jun 2026 18:58:30 +0800</pubDate><description><![CDATA[【代码】[1362]apscheduler报错RuntimeError: can‘t start new thread。]]></description><category></category></item><item><title><![CDATA[[1356]playwright的cdp模式]]></title><link>https://blog.csdn.net/xc_zhou/article/details/157182405</link><guid>https://blog.csdn.net/xc_zhou/article/details/157182405</guid><author>xc_zhou</author><pubDate>Tue, 20 Jan 2026 23:15:00 +0800</pubDate><description><![CDATA[Playwright 的 CDP (Chrome DevTools Protocol) 模式让你可以直接使用 Chrome DevTools Protocol 进行更底层的浏览器控制。通过 CDP 模式，Playwright 可以实现更底层的浏览器控制，适合需要高级调试、性能分析或特定自动化需求的场景。]]></description><category></category></item><item><title><![CDATA[[1352]js补环境报错navigator is not defined]]></title><link>https://blog.csdn.net/xc_zhou/article/details/156464063</link><guid>https://blog.csdn.net/xc_zhou/article/details/156464063</guid><author>xc_zhou</author><pubDate>Thu, 01 Jan 2026 09:00:00 +0800</pubDate><description><![CDATA[选择哪种方案取决于你的具体需求。如果是做爬虫或逆向工程，建议使用 JSDOM 或 puppeteer 方案。错误，通常是因为在 Node.js 环境中运行了浏览器端的代码。在 JavaScript 中，有多种方式可以全局化函数。]]></description><category></category></item><item><title><![CDATA[[1351]WASM + JS 混合逆向流程]]></title><link>https://blog.csdn.net/xc_zhou/article/details/156341580</link><guid>https://blog.csdn.net/xc_zhou/article/details/156341580</guid><author>xc_zhou</author><pubDate>Sat, 27 Dec 2025 21:33:19 +0800</pubDate><description><![CDATA[本文介绍了WASM与JS混合逆向分析的全流程。WASM作为高效隐蔽的二进制模块，常被用于加密、验证等核心逻辑，而JS负责数据调度。文章详细解析了五步逆向流程：识别WASM文件、定位JS调用代码、Hook调试、反编译WAT/Ghidra分析、动态还原算法。重点展示了如何通过内存指针交互数据，并提供了实用技巧如函数名识别、内存操作等。最后从开发者角度揭示了WASM+JS加密参数的典型实现方式，包括数据编码、内存分配和跨语言调用的完整过程，为逆向工程提供了系统方法论。]]></description><category></category></item><item><title><![CDATA[[1350]如何把wat文件转为wasm文件]]></title><link>https://blog.csdn.net/xc_zhou/article/details/156276925</link><guid>https://blog.csdn.net/xc_zhou/article/details/156276925</guid><author>xc_zhou</author><pubDate>Thu, 25 Dec 2025 23:45:00 +0800</pubDate><description><![CDATA[右键点击 .wat 文件 → External Tools → Wat2Wasm。这是最直接的方法，使用。]]></description><category></category></item><item><title><![CDATA[[1349]python transformers用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/156276913</link><guid>https://blog.csdn.net/xc_zhou/article/details/156276913</guid><author>xc_zhou</author><pubDate>Thu, 25 Dec 2025 23:30:00 +0800</pubDate><description><![CDATA[text = """人工智能是计算机科学的一个分支，旨在创造能够执行通常需要人类智能的任务的机器。这些任务包括学习、推理、问题解决、感知和语言理解。AI技术已经广泛应用于各个领域，包括医疗、金融、教育和娱乐等。"""# 训练参数# 创建训练器# 开始训练。]]></description><category></category></item><item><title><![CDATA[[1346]python ijson用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/155538397</link><guid>https://blog.csdn.net/xc_zhou/article/details/155538397</guid><author>xc_zhou</author><pubDate>Wed, 03 Dec 2025 23:00:00 +0800</pubDate><description><![CDATA[ijson 的主要优势在于它不需要将整个 JSON 文件加载到内存中，而是逐个读取和解析 JSON 元素。我来详细介绍一下 Python ijson 库的用法，这是一个用于流式解析大型 JSON 文件的工具。记住在处理完成后及时关闭文件，并在生产环境中添加适当的错误处理。]]></description><category></category></item><item><title><![CDATA[[1343]python-dotenv库用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/155285066</link><guid>https://blog.csdn.net/xc_zhou/article/details/155285066</guid><author>xc_zhou</author><pubDate>Wed, 26 Nov 2025 22:21:46 +0800</pubDate><description><![CDATA[from dotenv import load_dotenv import os # 加载指定路径的 .env 文件 load_dotenv("/path/to/your/.env") # 或者使用相对路径 load_dotenv(".env.local")]]></description><category></category></item><item><title><![CDATA[[1342]Playwright的page.on用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/155284913</link><guid>https://blog.csdn.net/xc_zhou/article/details/155284913</guid><author>xc_zhou</author><pubDate>Wed, 26 Nov 2025 22:12:39 +0800</pubDate><description><![CDATA[方法用于监听页面的各种事件。这是一个非常强大的功能，可以监听网络请求、对话框、控制台消息等。可以让你更好地监控和控制页面的行为，特别是在调试和自动化测试中非常有用。Playwright 的。]]></description><category></category></item><item><title><![CDATA[[1341]python ppadb简单使用]]></title><link>https://blog.csdn.net/xc_zhou/article/details/153837834</link><guid>https://blog.csdn.net/xc_zhou/article/details/153837834</guid><author>xc_zhou</author><pubDate>Fri, 24 Oct 2025 22:45:00 +0800</pubDate><description><![CDATA[的详细使用教程，这是一个用于通过 ADB（Android Debug Bridge）控制 Android 设备的 Python 库。这个教程涵盖了 python-ppadb 的主要功能，你可以根据具体需求选择合适的操作来实现 Android 设备的自动化控制。]]></description><category></category></item><item><title><![CDATA[[1340]Splash的使用]]></title><link>https://blog.csdn.net/xc_zhou/article/details/152165611</link><guid>https://blog.csdn.net/xc_zhou/article/details/152165611</guid><author>xc_zhou</author><pubDate>Thu, 02 Oct 2025 09:00:00 +0800</pubDate><description><![CDATA[- 执行JavaScript]])return {end'lua_source' : lua_script , 'url' : url , 'timeout' : 60 } response = requests . post(splash_url , json = data) return response . json() # 使用 result = splash_execute_js('https://www.cvma.org.cn/6847/index.html')]]></description><category></category></item><item><title><![CDATA[[1339]python crawl4ai基本用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/152165592</link><guid>https://blog.csdn.net/xc_zhou/article/details/152165592</guid><author>xc_zhou</author><pubDate>Thu, 02 Oct 2025 08:45:00 +0800</pubDate><description><![CDATA[github：https://github.com/unclecode/crawl4aiCrawl4AI 是一个强大的网页爬取和内容提取库，专门为 AI 应用设计。以下是其主要用法和核心功能：
基本用法
1. 简单爬取

2. 异步爬取（推荐）

命令行用法

核心功能
内容分块策略

CSS选择器过滤

JavaScript渲染

高级配置
自定义浏览器配置

批量爬取

内容处理
访问提取的内容

错误处理

实际应用示例
新闻文章提取

Crawl4AI 特别适合需要高质量文本提取的AI应用，如RAG]]></description><category></category></item><item><title><![CDATA[[1338]python tiktoken基本用法]]></title><link>https://blog.csdn.net/xc_zhou/article/details/152165538</link><guid>https://blog.csdn.net/xc_zhou/article/details/152165538</guid><author>xc_zhou</author><pubDate>Wed, 01 Oct 2025 08:30:00 +0800</pubDate><description><![CDATA[是 OpenAI 开发的一个快速 BPE 分词器库，用于将文本转换成 GPT 模型使用的 token ID。的主要功能，可以帮助您有效地处理文本 tokenization 任务。]]></description><category></category></item><item><title><![CDATA[[1337]python文本终端GUI框架Textual]]></title><link>https://blog.csdn.net/xc_zhou/article/details/152165509</link><guid>https://blog.csdn.net/xc_zhou/article/details/152165509</guid><author>xc_zhou</author><pubDate>Wed, 01 Oct 2025 08:15:00 +0800</pubDate><description><![CDATA[Textual是一个用于 Python 的 TUI（文本用户界面）库，是 Rich 的姐妹项目，也依赖于 Rich。它支持 Rich 的 Renderable 类，同时有自己的互动性组件 Widget 类。通过使用简单的 Python API 构建复杂的用户界面，在shell工具或浏览器上运行。官方文档提供了详尽的入门指南和教程，即使是从未接触过Textual的开发者也能快速上手，轻松构建自己的第一个Textual应用。(需要安装uv) 来运行演示程序，快速感受Textual 的魅力。]]></description><category></category></item></channel></rss>