浏览器工作线程 vs. 代码工作线程
浏览器工作线程和代码工作线程是实现数据抓取的两大技术方法,您可根据自己的需求、预算以及抓取相关网站时面临的技术挑战,选择其中一种即可。 浏览器工作线程通过无头浏览器模拟用户与网站的交互, 能够处理复杂的抓取任务,例如抓取用户输入的信息和动态内容加载。 使用浏览器工作线程运行代码需要更高的 CPM,但在某些使用场景中,它是获取数据的唯一可行解决方案。 代码工作线程则在服务器端运行,通过 HTTP 请求执行抓取任务。 您只需通过脚本或程序向目标网站发送请求,即可从各个响应中提取数据,并将其保存至文件或数据库。 使用代码工作线程运行代码的成本更低、速度更快。 您可随时切换各种抓取工具的工作线程类型,因此无需执着于特定的工作线程,但请注意,一些函数(如 “wait” 函数)专为浏览器工作线程设计,只能与后者一起使用。进一步了解工作线程类型:https://docs.brightdata.com/cn/scraping-automation/web-scraper-ide/worker-types
交互和解析
交互和解析是网页抓取过程的两大关键步骤,涉及访问和处理网站的 HTML 内容。 交互是指在网站各个页面或版块之间移动,找到所需数据的过程。此过程通常会涉及以下操作:向网站 URL 发送 GET 或 POST 请求,以及通过链接或提交表单的方式访问各个网页或版块。它还涉及点击、键入和等待等操作/命令。 一旦浏览器页面含有所需数据,抓取工具就会调用parse()
函数获取数据(该步骤会触发解析器代码),然后调用 collect()
函数将数据记录添加至您的最终数据集。
例如:
- 使用 GET 或 POST 请求导航至电商网站的搜索页面
- 找到包含页数的 HTML 元素
- 解析 HTML,提取搜索结果页数
- 导航至每个结果页并执行以下操作
- 找到包含每个搜索结果数据的 HTML 元素
- 解析每个搜索结果的 HTML 内容,收集每个产品页面的 URL
- 导航至每个产品页面并执行以下操作
- 找到包含所需产品数据的 HTML 元素
- 解析 HTML,提取所需产品数据