本地安装了dify,通过创建应用(工作流),爬取网页信息,如图所示:
创建应用:
配置开始节点:
通过配置开始节点,传递URL采集链接参数。
配置工具节点(Firecrawl):
前提进入Firecrawl网页进行注册,注册后提供key进行授权。
选择输入变量,选择上一个开始节点的URL输出。
配置大模型deepseek:
设置提示词:
请严格按以下规则处理文本中的磁力链接:
1. **定位锚点**
- 主特征:以`magnet:?xt=urn:btih:`开头
- 辅助特征:包含40位十六进制字符(0-9, a-f)
- 容错策略:
允许前后有空格/换行符
允许被HTML标签包裹(如)
排除非BTIH协议的磁力链(如`urn:ed2k`)
2. **提取规则**
- 完整截取从`magnet:`开始到最后一个有效字符为止
- 若同一文本含多个链接,用JSON数组输出
- 示例:
输入 → "下载地址:(magnet:?xt=urn:btih:123...abc)"
输出 → ["magnet:?xt=urn:btih:123...abc"]
3. **验证环节**
- 检查哈希值长度是否为40位(不区分大小写)
- 自动过滤跟踪器参数(如`&tr=http://...`可保留但非必需)
4. **异常处理**
- 当检测到哈希值长度不足时,返回错误类型:
`{"error": "INVALID_HASH_LENGTH", "expected":40, "actual":20}`
- 遇到编码问题(如URLEncode转换)时自动解码:
输入`magnet:?xt=urn%3Abtih%3Dabc...` → 输出解码后标准格式
5. **防御性编程**
- 屏蔽含高危参数的链接(如`&xs=恶意识别码`)
- 对非标准端口做警告标记(如`:8080`)
配置结束节点:
结束节点的输入是上一节点大模型的输出。
这样点击运行验证就可以查看了,需要采集什么,通过大模型的提示词来分析过滤。