refactor: 重组目录结构

- src/ 存放源代码
- docs/ 存放文档
- scripts/ 存放工具脚本
- 移除临时文件
This commit is contained in:
empty
2025-12-03 17:06:53 +08:00
parent 130d280d7a
commit 6059865523
17 changed files with 27 additions and 1056 deletions

View File

@@ -6,15 +6,23 @@
```
web2mcp/
├── browser-extension/ # Chrome 浏览器扩展
── manifest.json # 扩展配置
├── popup.html # 弹出界面
│ ├── popup.js # 弹出逻辑
├── content.js # 内容提取脚本
│ ├── content.css # 样式
── icons/ # 图标
├── mcp.py # Python 网页抓取脚本
── README.md
├── src/ # 源代码
── browser-extension/ # Chrome 浏览器扩展
├── manifest.json # 扩展配置
├── popup.html # 弹出界面
├── popup.js # 弹出逻辑
├── content.js # 内容提取脚本
── content.css # 样式
│ └── icons/ # 图标
── docs/ # 文档
│ ├── INSTALL.md # 安装指南
│ └── EXTENSION.md # 扩展详细说明
├── scripts/ # 工具脚本
│ ├── mcp.py # Python 网页抓取脚本
│ └── generate_icons.py # 图标生成脚本
├── README.md
├── LICENSE
└── .gitignore
```
## 功能
@@ -33,7 +41,9 @@ web2mcp/
1. 打开 Chrome访问 `chrome://extensions/`
2. 开启右上角 **开发者模式**
3. 点击 **加载已解压的扩展程序**
4. 选择 `browser-extension` 文件夹
4. 选择 `src/browser-extension` 文件夹
详细安装说明请参考 [docs/INSTALL.md](docs/INSTALL.md)
### Python 脚本

Binary file not shown.

View File

@@ -24,7 +24,7 @@
4. **加载扩展**
- 点击 **加载已解压的扩展程序**
- 选择项目中的 `browser-extension` 文件夹
- 选择项目中的 `src/browser-extension` 文件夹
5. **完成**
- 扩展图标会出现在浏览器工具栏
@@ -58,18 +58,17 @@
## 文件说明
```
browser-extension/
src/browser-extension/
├── manifest.json # 扩展配置(权限、入口等)
├── popup.html # 弹出窗口界面
├── popup.js # 弹出窗口逻辑
├── content.js # 注入页面的内容脚本
├── content.css # 框选样式
── icons/ # 图标文件
├── icon.svg # 矢量源文件
├── icon16.png # 16x16 图标
├── icon48.png # 48x48 图标
└── icon128.png # 128x128 图标
└── INSTALL.md # 本文件
── icons/ # 图标文件
├── icon.svg # 矢量源文件
├── icon16.png # 16x16 图标
├── icon48.png # 48x48 图标
└── icon128.png # 128x128 图标
```
## 权限说明

957
result.md
View File

@@ -1,957 +0,0 @@
[小程序]()
- 小程序
- 小游戏
- 公众号
- 服务号
- 开放平台
- 企业微信
- 微信支付
- 视频号
- 微信小店
- 智能对话
- 腾讯小微
[开发](https://developers.weixin.qq.com/miniprogram/dev/framework/)
[介绍](https://developers.weixin.qq.com/miniprogram/introduction/)
[设计](https://developers.weixin.qq.com/miniprogram/design/)
[运营](https://developers.weixin.qq.com/miniprogram/product/)
[数据](https://developers.weixin.qq.com/miniprogram/analysis/wedata/intro/)
[安全](https://developers.weixin.qq.com/miniprogram/security/basic/)
[社区](https://developers.weixin.qq.com/community/develop/mixflow)
[学堂](https://developers.weixin.qq.com/community/business)
[取消](javascript:;)
[查看更多](https://developers.weixin.qq.com/doc/search?source=more&query=&doc_type=miniprogram&jumpbackUrl=%2Fdoc%2F)
[在小程序下暂无结果,查看其它业务相关内容 >](https://developers.weixin.qq.com/doc/search?source=more&query=&doc_type=miniprogram&jumpbackUrl=%2Fdoc%2F)
- 指南
- 框架
- 组件
- API
- 服务端
- 平台能力
行业能力
商业能力
多端能力
服务市场
城市服务
付费能力
拓展能力
- 工具
- 云服务
云开发
云托管
- 更新日志
[开发](javascript:;)
[开发](https://developers.weixin.qq.com/miniprogram/dev/framework/)
[介绍](https://developers.weixin.qq.com/miniprogram/introduction/)
[设计](https://developers.weixin.qq.com/miniprogram/design/)
[运营](https://developers.weixin.qq.com/miniprogram/product/)
[数据](https://developers.weixin.qq.com/miniprogram/analysis/wedata/intro/)
[安全](https://developers.weixin.qq.com/miniprogram/security/basic/)
[指南](javascript:;)
- 起步
小程序简介
小程序技术发展史
小程序与普通网页开发的区别
体验小程序
开始
申请账号
安装开发者工具
你的第一个小程序
编译预览
小程序代码构成
JSON 配置
WXML 模板
WXSS 样式
JS 逻辑交互
小程序宿主环境
渲染层和逻辑层
程序与页面
组件
API
小程序协同工作和发布
协同工作
小程序的版本
发布上线
运营数据
小程序开发指南
- 目录结构
- 配置小程序
全局配置
页面配置
- 小程序框架
介绍
场景值
逻辑层
介绍
注册小程序
注册页面
页面生命周期
页面路由
介绍
页面路由监听
路由事件重写
模块化
API
视图层
介绍
WXML
WXSS
WXS
事件系统
介绍
WXS 响应事件
Tap 事件
Pointer 事件
简易双向绑定
基础组件
获取界面上的节点信息
响应显示区域变化
分栏模式
动画
初始渲染缓存
- 小程序运行时
运行环境
JavaScript 支持情况
运行机制
更新机制
- Skyline 渲染引擎
概览
介绍
特性
性能对比
示例体验
支持与差异
基础组件
WXSS 样式
增强特性
Worklet 动画
手势系统
自定义路由
预设路由效果
容器转场动画
页面返回手势
共享元素动画
全局工具栏
滚动容器及其应用场景
从 WebView 迁移
起步
新版组件框架适配指引
最佳实践
常见兼容问题
发布上线
迁移工具
性能调试
动态
更新日志
特性状态
- glass-easel 组件框架
介绍
适配指引
新增特性
介绍
在模板中调用 data 里的函数
Chaining API
Chaining API 的 init 函数
动态 slot
- 自定义组件
介绍
组件系统
组件模板和样式
Component 构造器
组件间通信与事件
组件生命周期
behaviors
组件间关系
数据监听器
纯数据字段
抽象节点
自定义组件扩展
开发第三方自定义组件
单元测试
获取更新性能统计信息
占位组件
查看自定义组件数据
- 插件
介绍
开发插件
使用插件
插件调用 API 的限制
插件使用组件的限制
插件功能页
介绍
用户信息功能页
支付功能页
收货地址功能页
发票功能页
发票抬头功能页
- 基础能力
网络
使用说明
业务域名
局域网通信
移动解析HttpDNS
存储
文件系统
画布
介绍
旧版迁移指南
分包加载
使用分包
独立分包
分包预下载
分包异步化
按需注入和用时注入
多线程 Worker
服务端能力
服务端 API
消息推送
自定义 tabBar
周期性更新
数据预拉取
DarkMode 适配指南
大屏适配指南
HarmonyOS 适配指南
AI/AR
AI推理能力
Beta
介绍
算子支持列表
模型量化推理
VisionKit 视觉能力
VisionKit 基础
6Dof-水平面 AR
6Dof-水平面 AR 扩展能力
Marker AR
单样本检测OSD
人脸检测
人体检测
人手检测
鞋部检测
OCR检测
身份证检测
深度估计
- XR-FRAME
开发指南
开始
新建一个XR组件
在页面中使用这个组件
添加一个物体
来点颜色和灯光
有点寡淡,加上图像
让场景更丰富,环境数据
动起来,加入动画
还是不够,放个模型
再来点交互
组件通信加上HUD
虚拟 x 现实,追加 AR 能力
识别人脸,给自己戴个面具
手势,给喜欢的作品点赞
OSDMarker给现实物体做标记
2DMarker+视频,让照片动起来
加上魔法,来点粒子
后处理,让画面更加好玩
分享给你的好友吧!
之后的,就交给你的创意
- 连接硬件能力
蓝牙
介绍
蓝牙低功耗 (BLE)
蓝牙低功耗网状网络 (BLE Mesh)
蓝牙信标 (Beacon)
近场通信 (NFC)
无线局域网 (Wi-Fi)
硬件设备接入
设备消息
设备认证
指引
使用 WMPF安卓认证设备
设备认证 SDK安卓
设备认证 TEE 规范
穿戴设备小程序框架
音视频通话+摄像头for 硬件)
介绍
VoIP 通话插件
接入指引
接口文档
发起通话
介绍
initByCaller
callWMPF
callDevice
forceHangUpVoip
getPluginEnterOptions
getPluginOnloadOptions
onVoipEvent
setCustomBtnText
setUIConfig
setVoipEndPagePath
getIotBindContactList
错误码
支付刷脸模式
更新日志
小程序摄像头插件
接入指引
开发安卓设备端应用
小程序音视频通话 SDK
Linux 设备
RTOS 设备
云对云设备端
云对云服务端
VoIP 视频流指南
异步接口使用指南
硬件抽象层
用户授权设备
设备呼叫手机微信
手机微信呼叫设备(安卓)
手机微信呼叫设备(Linux)
性能与体验优化
问题排查
常见问题 FAQ
通话异常排查指南
通话提醒异常排查指南
下载 安卓小程序硬件框架
设备组
需要帮助
- 开放能力
用户信息
小程序登录
UnionID 机制说明
授权
开放数据校验与解密
手机号快速验证组件
手机号实时验证组件
获取头像昵称
生物认证
账户卡片
分享到朋友圈
转发
转发
动态消息
小程序私密消息
收藏
聊天素材打开
聊天工具
用工关系
安全能力
小程序加密网络通道
安全键盘
分享数据到微信运动
音视频通话
多人音视频对话
双人音视频对话
打开 App
打开半屏小程序
消息
订阅消息
新版一次性订阅消息开发指南
小程序订阅消息(用户通过弹窗订阅)开发指南
订阅消息语音提醒
订阅消息添加提醒
统一服务消息
客服消息
概述
接收消息和事件
发送消息
转发消息
下发客服输入状态
临时素材
位置消息
获取小程序码
获取小程序链接
获取 URL Scheme
获取 URL Link
获取 Short Link
应用:短信打开小程序
应用NFC 标签打开小程序
小程序账号迁移
视频号
视频号主页
视频号视频
视频号直播
视频号活动
数据分析
附近的小程序
广告
Banner 广告
激励视频广告
插屏广告
视频广告
视频前贴广告
格子广告
原生模板广告
广告预加载接口
广告数据接口
广告汇总数据
广告细分数据
广告位清单
结算收入数据
- 调试
概述
vConsole
Source Map
实时日志
Errno错误码
- 性能与体验
概述
启动性能
概述
小程序启动流程
代码包体积优化
代码注入优化
首屏渲染优化
其他优化建议
运行时性能
概述
合理使用 setData
渲染性能优化
页面切换优化
资源加载优化
内存优化
性能数据
性能诊断工具
工具介绍
工具评测标准
体验分析
调试工具
概述
真机调试 2.0
「模拟器」和「调试器」
代码质量分析面板
FPS 面板
性能面板
体验评分
体验评分简介
评分方法与规则
评分方法
性能
体验
最佳实践
WXWebAssembly
接口调用频率规范
网络调优
弱网体验优化
- 安全指引
开发原则与注意事项
通用
接口鉴权
代码管理与泄漏
信息泄露
授权用户信息变更
小程序违规处罚信息通知
后台
注入漏洞
弱口令
文件上传漏洞
文件下载
目录遍历
条件竞争
- 健康运营指引
用户隐私保护
用户隐私保护指引填写说明
小程序用户隐私保护指引内容介绍
插件用户隐私保护说明内容介绍
小程序隐私协议开发指南
用户安全解决方案
内容安全解决方案
业务安全解决方案
- 企业微信兼容
- 基础库
介绍
版本分布
低版本兼容
- 小程序搜索
小程序搜索优化指南
商品数据接入(内测)
- PC 小程序
PC 小程序接入指南
# # 小程序搜索优化指南
爬虫访问小程序内页面时,会携带特定的 user-agent "mpcrawler" 及场景值1129
判断请求是否来源于官方搜索爬虫的方法:
签名算法与小程序消息推送接口的签名算法一致。详情
参数在请求的header里设置分别是
X-WXApp-Crawler-Timestamp
X-WXApp-Crawler-Nonce
X-WXApp-Crawler-Signature
签名流程如下:
1.将token、X-WXApp-Crawler-Timestamp、X-WXApp-Crawler-Nonce三个参数进行字典序排序
2.将三个参数字符串拼接成一个字符串进行sha1加密
3.开发者获得加密后的字符串可与X-WXApp-Crawler-Signature对比标识该请求来源于微信
## # 1. 小程序里跳转的页面 (url) 可被直接打开。
小程序页面内的跳转url是我们爬虫发现页面的重要来源且搜索引擎召回的结果页面 (url) 是必须能直接打开,不依赖上下文状态的。
特别的建议页面所需的参数都包含在url
## # 2. 页面跳转优先采用navigator组件。
小程序提供了两种页面路由方式:
a. navigator 组件
b. 路由 API包括 navigateTo / redirectTo / switchTab / navigateBack / reLaunch
建议使用 navigator 组件若不得不使用API可在爬虫访问时屏蔽针对点击设置的时间锁或变量锁。
## # 3. 清晰简洁的页面参数。
结构清晰、简洁、参数有含义的 querystring 对抓取以及后续的分析都有很大帮助,但是将 JSON 数据作为参数的方式是比较糟糕的实现。
## # 4. 必要的时候才请求用户进行授权、登录、绑定手机号等。
建议在必须的时候才要求用户授权(比如阅读文章可以匿名,而发表评论需要留名)。
## # 5. 我们不收录 web-view 中的任何内容。
我们暂时做不到这一点,长期来看,我们可能也做不到。
## # 6. 设置一个清晰的标题和页面缩略图。
页面标题和缩略图对于我们理解页面和提高曝光转化有重要的作用。
通过 wx.setNavigationBarTitle 或 自定义转发内容 onShareAppMessage 对页面的标题和缩略图设置,另外也为 video、audio 组件补齐 poster / poster-for-crawler 属性。
[Tap to report.](javascript:;)
- 关于腾讯
- 文档中心
- 辟谣中心
- 客服中心
Copyright © 2012-2025 Tencent. All Rights Reserved.
- 1. 小程序里跳转的页面 (url) 可被直接打开。
- 2. 页面跳转优先采用navigator组件。
- 3. 清晰简洁的页面参数。
- 4. 必要的时候才请求用户进行授权、登录、绑定手机号等。
- 5. 我们不收录 web-view 中的任何内容。
- 6. 设置一个清晰的标题和页面缩略图。
- 复制
- 问题反馈
[反馈](javascript:;)

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 257 B

View File

Before

Width:  |  Height:  |  Size: 79 B

After

Width:  |  Height:  |  Size: 79 B

View File

Before

Width:  |  Height:  |  Size: 115 B

After

Width:  |  Height:  |  Size: 115 B

View File

@@ -1,81 +0,0 @@
[
{
"type": "heading",
"level": 1,
"content": "#小程序搜索优化指南"
},
{
"type": "paragraph",
"content": "爬虫访问小程序内页面时,会携带特定的 user-agent \"mpcrawler\" 及场景值1129"
},
{
"type": "paragraph",
"content": "判断请求是否来源于官方搜索爬虫的方法:"
},
{
"type": "paragraph",
"content": "签名算法与小程序消息推送接口的签名算法一致。 详情"
},
{
"type": "paragraph",
"content": "参数在请求的header里设置分别是\nX-WXApp-Crawler-Timestamp\nX-WXApp-Crawler-Nonce\nX-WXApp-Crawler-Signature"
},
{
"type": "paragraph",
"content": "签名流程如下:\n1.将token、X-WXApp-Crawler-Timestamp、X-WXApp-Crawler-Nonce三个参数进行字典序排序\n2.将三个参数字符串拼接成一个字符串进行sha1加密\n3.开发者获得加密后的字符串可与X-WXApp-Crawler-Signature对比标识该请求来源于微信"
},
{
"type": "heading",
"level": 2,
"content": "#1. 小程序里跳转的页面 (url) 可被直接打开。"
},
{
"type": "paragraph",
"content": "小程序页面内的跳转url是我们爬虫发现页面的重要来源且搜索引擎召回的结果页面 (url) 是必须能直接打开,不依赖上下文状态的。\n特别的建议页面所需的参数都包含在url"
},
{
"type": "heading",
"level": 2,
"content": "#2. 页面跳转优先采用navigator组件。"
},
{
"type": "paragraph",
"content": "小程序提供了两种页面路由方式: a. navigator 组件 b. 路由 API包括 navigateTo / redirectTo / switchTab / navigateBack / reLaunch\n建议使用 navigator 组件若不得不使用API可在爬虫访问时屏蔽针对点击设置的时间锁或变量锁。"
},
{
"type": "heading",
"level": 2,
"content": "#3. 清晰简洁的页面参数。"
},
{
"type": "paragraph",
"content": "结构清晰、简洁、参数有含义的 querystring 对抓取以及后续的分析都有很大帮助,但是将 JSON 数据作为参数的方式是比较糟糕的实现。"
},
{
"type": "heading",
"level": 2,
"content": "#4. 必要的时候才请求用户进行授权、登录、绑定手机号等。"
},
{
"type": "paragraph",
"content": "建议在必须的时候才要求用户授权(比如阅读文章可以匿名,而发表评论需要留名)。"
},
{
"type": "heading",
"level": 2,
"content": "#5. 我们不收录 web-view 中的任何内容。"
},
{
"type": "paragraph",
"content": "我们暂时做不到这一点,长期来看,我们可能也做不到。"
},
{
"type": "heading",
"level": 2,
"content": "#6. 设置一个清晰的标题和页面缩略图。"
},
{
"type": "paragraph",
"content": "页面标题和缩略图对于我们理解页面和提高曝光转化有重要的作用。\n通过 wx.setNavigationBarTitle 或 自定义转发内容 onShareAppMessage 对页面的标题和缩略图设置,另外也为 video、audio 组件补齐 poster / poster-for-crawler 属性。"
}
]