Deepseek+MCP 实现多平台数据批量采集

Deepseek+MCP 实现多平台数据批量采集

编程文章jaq1232025-05-20 22:46:3423A+A-

主要流程说明:

  1. 初始化阶段 :
  2. 创建 Host 类实例
  3. 发现并注册 MCP 服务器的能力(浏览器操作功能)
  4. 数据提取流程 :
  5. extract_data 函数是主要入口点
  6. 创建 Host 实例并处理用户指令
  7. 构建系统提示和上下文
  8. 发送给 LLM 进行规划和执行
  9. LLM 交互循环 :
  10. 管理上下文窗口大小,防止 token 超限
  11. 调用 LLM API 获取响应
  12. 解析 LLM 响应,识别工具调用
  13. 执行工具(浏览器操作)
  14. 将结果添加到上下文并再次发送给 LLM
  15. 公告爬取流程 :
  16. scrape_announcements 函数爬取招标公告
  17. 调用 extract_data 获取公告列表
  18. 解析 JSON 数据并筛选前一日公告
  19. 遍历公告列表,提取详情
  20. 获取 HTML 内容和附件链接
  21. 下载附件并上传到 MinIO
  22. 保存数据到 CSV
  23. 文件下载流程 :
  24. 处理 cookies 和请求参数
  25. 发送 HEAD 请求获取文件信息
  26. 提取文件名并确保包含扩展名
  27. 根据服务器支持选择多线程或单线程下载
  28. 返回本地文件名
  29. HTML 获取流程 :
  30. 使用 Playwright 启动浏览器
  31. 访问 URL 并等待页面加载
  32. 清理页面元素(删除脚本、样式等)
  33. 获取 HTML 内容和 Cookies
  34. 关闭浏览器并返回结果

通过 LLM 的智能规划和浏览器自动化技术,实现了灵活的网页数据爬取功能,特别适合于结构复杂、需要交互操作的网站。

运行结果截图

数据入库

后续待解决问题

LLM实现动态网站翻页LLM实现json解析,上下文context过长问题部分附件下载需要验证码或者cookie

点击这里复制本文地址 以上内容由jaq123整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

苍茫编程网 © All Rights Reserved.  蜀ICP备2024111239号-21