使用说明
使用Playwright MCP和LLM调用的端到端Webscraping工作流
此项目演示了使用Playwright MCP(通过自定义BrowserMCP包装器)和LLM调用的最小端到端工作流程,以:
- 从房地产列表页面提取快照
- 使用结构化LLM输出解析项目和项目详细信息
- 捕获每个项目的屏幕截图
- 将所有提取的数据导出到.xlsx文件中
- 在唯一的runId目录下组织结果
该实现使用fastmcp、Playwright和OpenAI结构化输出。
项目流程
工作流程(items_workflow)遵循以下步骤:
-
创建一个独特的
runId输出目录 -
对于每个配置的站点(
ITEMS_WORKFLOW_SITES):- 加载初始页面
- 提取快照
- 检测并迭代分页
-
对于每个列表页面:
- 提取快照
- 使用LLM(
PageItemsOutput)检测所有项目URL
-
对于每个项目:
- 提取完整细节快照
- 使用LLM(
ItemDetailsOutput)解析结构化项目数据 - 使用唯一ID保存屏幕截图
- 将解析后的项目附加到结果列表中
-
完成所有页面后:
- 将所有收集到的数据写入
runId文件夹
- 将所有收集到的数据写入
输出示例
您可以在 example 项目根目录中的dir。
跑步会产生:
- 数十张截图(每个提取项目一张)
- 一个包含所有解析项目数据的Excel电子表格
如何跑步
按照以下步骤设置环境并运行示例。
-
配置您的
.env文件使用.env.example作为参考。 请确保设置您的OPENAI_API_KEY. -
启动Playwright MCP服务:
docker compose up --build -d playwright-mcp -
构建工作流服务:
docker compose build workflow -
然后运行工作流服务(它不是持久服务):
docker compose up workflow工作流服务生成的输出将保存在项目根目录下的output/目录中。
Note:由于工作流服务不是持久的,它只运行一次,并在完成工作流后退出。 要再次运行工作流,请使用:docker compose up workflow