浏览器 Worker 与代码 Worker
浏览器 Worker 和代码 Worker 是两种爬取技术方法,您应根据需求、预算以及所爬网站的技术挑战选择合适的方法。 浏览器 Worker 通过无头浏览器模拟用户与网站的交互, 能够处理复杂的爬取任务,如用户输入和动态内容加载。使用浏览器 Worker 运行代码的 CPM 较高,但在某些情况下,这是获取数据的唯一可行方案。 代码 Worker 则在服务器端运行,通过 HTTP 请求执行爬取任务。脚本或程序向目标网站发送请求,从每个响应中提取数据,并保存到文件或数据库中。使用代码 Worker 运行代码成本较低,结果也更快。 您可以随时为每个爬虫切换 Worker 类型,因此无需固定选择某个 Worker,但请注意有一些函数(如wait)仅为浏览器 Worker 设计和限制。了解更多 Worker 类型。
交互与解析
交互(Interaction)和解析(Parsing)是网页爬取的两个关键步骤,涉及访问和操作网站的 HTML 内容。 交互指在网站不同页面或部分之间移动以定位所需数据的过程。通常包括向网站 URL 发送 GET 或 POST 请求,并通过点击链接或提交表单访问不同页面或部分。同时还涉及操作/命令,如 click、type 和 wait。一旦浏览器页面获取到所需数据,调用parse() 获取数据 —— 这将触发解析器(Parser)代码,然后调用 collect() 将记录添加到最终数据集。
例如:
- 使用 GET 或 POST 请求导航到电商网站的搜索页面
- 定位包含页码的 HTML 元素
- 解析 HTML 以提取搜索结果页面数量
- 导航到每个结果页面并执行以下操作
- 定位每条搜索结果数据的 HTML 元素
- 解析每条搜索结果的 HTML 内容,收集每个产品页面的 URL
- 导航到每个产品页面并执行以下操作
- 定位包含所需产品数据的 HTML 元素
- 解析 HTML 以提取所需产品数据