API 请求
要抓取一个网页,请向 Web Scraping API 基础端点发送 GET 请求,并附带您的 api_key 和目标 url。其他可选参数可让您控制渲染、代理类型、地理位置、超时时间等。
Endpoint
Section titled “Endpoint” GET https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=<TARGET_URL>
| 参数 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
api_key | string | 是 | 您的 Web Scraping API 访问密钥。可在您的账户仪表盘中找到。 |
url | string | 是 | 要抓取的目标 URL。 |
render_js | integer | 否 | 0(默认)或 1。通过无头浏览器启用 JavaScript 渲染。数据中心代理消耗 5 次 API 调用,住宅代理消耗 25 次。 |
proxy_type | string | 否 | datacenter(默认)或 residential。住宅代理在不启用 JS 渲染时消耗 10 次调用,启用时消耗 25 次。 |
country | string | 否 | 用于代理地理位置的两字母国家代码。支持的列表取决于代理类型。 |
keep_headers | integer | 否 | 1 表示传递自定义请求头,0 表示仅使用您指定的请求头。 |
session | integer | 否 | 通过重复使用相同的会话编号,在多个请求中复用同一个代理 IP。最后一次使用后 5 分钟过期。 |
timeout | integer | 否 | 最大请求时间(毫秒)。最大值为 60000。API 会返回超时触发前已获取的 HTML 内容。 |
device | string | 否 | desktop(默认)、mobile 或 tablet。 |
wait_until | string | 否 | 高级参数。用于判断渲染何时被视为完成的条件。需要 render_js=1。 |
wait_for | integer | 否 | 高级参数。页面加载后等待的毫秒数。建议值为 5000-10000。需要 render_js=1。 |
wait_for_css | string | 否 | 高级参数。最多等待 10 秒以使某个 CSS 选择器出现。需要 render_js=1。 |
screenshot | integer | 否 | 高级参数。设置为 1 以返回截图。需要 render_js=1。 |
screenshot_options | object | 否 | 高级参数。控制截图尺寸和 full_page。 |
extract_rules | string | 否 | 高级参数。经过 URL 编码的 JSON,用于描述 CSS 提取规则。 |
disable_stealth | integer | 否 | 高级参数。设置为 1 以禁用默认的隐身插件。需要 render_js=1。 |
auto_parser | integer | 否 | 高级参数。设置为 1 以返回解析后的 JSON 而非 HTML。 |
js_instructions | string | 否 | 高级参数。经过 URL 编码的 JSON 数组,用于在抓取前执行一系列操作。需要 render_js=1。 |
binary_response | integer | 否 | 设置为 1 以返回 base64 编码的二进制文件(用于 PDF、图片等)。 |
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://httpbin.org/get"import requests
r = requests.get("https://scrape.shifter.io/v1", params={ "api_key": "YOUR_API_KEY", "url": "https://httpbin.org/get",})print(r.text)import fetch from 'node-fetch';
const url = 'https://scrape.shifter.io/v1?' + new URLSearchParams({ api_key: 'YOUR_API_KEY', url: 'https://httpbin.org/get',});const res = await fetch(url);console.log(await res.text());- 基本请求 - 简单示例
- 渲染 JavaScript
- 代理
- API 错误