跳转到主要内容浏览器工作器和代码工作器是两种技术实现的爬取方式,您应根据需求、预算以及在爬取网站时面临的技术挑战来选择合适的工作器。
浏览器工作器 vs 代码工作器
浏览器工作器:
- 可以通过无头浏览器模拟用户与网站的交互
- 浏览器工作器使用成本更高(按每千次页面加载计算 CPM)
- 可处理复杂爬取任务,如填写表单和动态内容加载
代码工作器:
- 类似于执行 curl 或 Python 的
requests.get(url)
- 通过向目标网站发送 HTTP 请求进行工作
- 成本低得多
- 仅适用于无需与网站 UI 交互的情况
选择最佳工作器类型
您应根据目标网站使用的技术以及爬取所需数据时所需的导航方式选择合适的工作器类型。
建议先从成本较低的代码工作器开始,仅在无法获取所需数据时再切换。
例如:
- 如果需要点击某个元素以加载更多数据
- 如果需要滚动页面以加载更多元素
- 如果需要使用
tag_script、tag_response(从浏览器内部捕获网络流量)
- 如果需要在网站上输入文本以执行搜索获取数据
使代码与工作器类型保持一致
我们库中的某些函数仅在使用浏览器时可用,如果在代码工作器中尝试使用这些函数将会报错。
以下是仅可在浏览器工作器中使用的函数列表:
wait_*(任意等待函数)
scroll_*(任意滚动函数)
tag_*(任意标签函数)
type
browser_size
emulate_device
freeze_page
click
hover
right_click
mouse_to
press_key
solve_captcha
capture_graphql
close_popup