其他搜索引擎

使用我们的universal源代码抓取其他搜索引擎。它接受URL以及附加参数。您可以在下表中找到可用参数的列表。

概述

以下是我们支持的所有可用数据源值与其他目标的快速概述。

来源描述结构化数据

universal

提交任何您喜欢的URL。

使用Custom Parser功能获取结构化数据。

代码示例

在下面的示例中,我们发出请求以获取提供的百度URL的结果。

curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "universal",
        "url": "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&ch=&tn=baidu&bar=&wd=adidas"
    }'

以上示例使用了 Realtime 集成方法。如果您想在您的查询中使用一些其他集成方法(如推拉代理端),请参考集成方法部分。

查询参数

参数描述默认值

source

数据源。更多信息

universal

url

转到通用页面的直接 URL(链接)。

不适用

user_agent_type

设备类型和浏览器。单击此处查看完整列表。

desktop

geo_location

用于检索数据的代理的地理定位。单击此处查看支持位置的完整列表。

不适用

locale

区域设置,正如接受语言标头所预期的一样。

不适用

render

启用 JavaScript 渲染。更多信息

不适用

content_encoding

如果正在下载图像,请添加此参数。单击此处了解更多相关信息。

base64

context: content

Base64 编码的 POST 请求正文。只有将 http_method 设为 post 时才有用。

不适用

context: cookies

传递自己的 cookies。

不适用

context: follow_redirects

表明您是否希望爬虫程序遵循重定向(带有目标 URL 的 3xx 响应)以获得重定向链末端的 URL 内容。

不适用

context: headers

传递自己的标头。

不适用

context: http_method

如果您希望通过 网络爬虫 API 程序向您的目标 URL 发出 POST 请求,则可以将其设置为 post

get

context: session_id

I如果要在多个请求中使用同一个代理,则可以通过使用该参数来实现。只要将您的会话设置为您想要的任何字符串,我们就会为该 ID 分配一个代理,并最长保留 10 分钟。之后,如果使用相同的会话 ID 提出另一个请求,我们将为该特定会话 ID 分配一个新代理。

不适用

context: successful_status_codes

定义一个或几个自定义的 HTTP 响应代码,我们将根据此代码确定爬取是否成功,并将相关内容返回给您。如果您希望我们返回 503 错误页面,则该参数可能很有用,同时也适用于其他一些非标准的情况。

不适用

callback_url

转至回调端点的 URL。更多信息

不适用

- 必须提供的参数

形成URL

百度

作业参数分配到URL:

https://<subdomain>.baidu.<domain>/s?ie=utf-8&wd=<query>&rn=<limit>&pn=<calculated_start_page>

当形成URL时,请遵循以下说明:

  • 编码搜索词:搜索词必须进行URL编码。例如,空格应替换为%20,这代表URL中的空格字符。

  • 计算起始页:start_page参数现在对应要跳过的搜索结果数量。使用公式 limit * start_page - limit 计算值。

  • 子域分配:子域值取决于作业中提供的用户代理类型。如果用户代理类型包含mobile,则子域值应为m。否则,应为www。

  • 查询参数:根据子域值(m或www),查询参数应相应调整(对于m为word,对于www为wd)。

示例生成的URL

  • 移动端:

https://m.baidu.com/s?ie=utf-8&word=test&rn=10&pn=20
  • 桌面端:

https://www.baidu.com/s?ie=utf-8&wd=test%20query&rn=13

等效作业示例

  • 停用的百度搜索源:

{
    "source": "baidu_search",
    "query": "test",
    "domain": "com",
    "limit": 5,
    "start_page": 3,
    "user_agent_type": "desktop"
}
  • 更新后的universal源:

{
    "source": "universal",
    "url": "https://www.baidu.com/s?ie=utf-8&wd=test&rn=5&pn=10",
    "user_agent_type": "desktop"
}

Yandex

作业参数分配到URL:

https://yandex.<domain>/search/?text=<query>&numdoc=<limit>&p=<start_page>&lr=<geo_location>

当形成URL时,请遵循以下说明:

  • 编码搜索词:搜索词必须进行URL编码。例如,空格应替换为%20,这代表URL中的空格字符。

  • 起始页调整start_page的值必须减1。例如,如果所需的起始页为3,则URL中的页码值应为2。

  • 本地化:如果域名为rutr,则添加一个附加查询参数lr,并赋值为geo_location。对于其他域名,geo_location值在查询参数rstr下,且值前加一个-符号。

  • 不支持:pages参数不再支持。必须通过更改URL中的当前页码值分别提交作业。

生成的URL示

https://yandex.ru/search/?text=test&numdoc=5&p=0&lr=100
https://yandex.com/search/?text=test%201&numdoc=10&p=2&rstr=-100

等效作业示例

  • 停用的Yandex搜索源:

{
    "source": "yandex_search",
    "query": "test",
    "domain": "com",
    "limit": 5,
    "start_page": 3,
    "geo_location": 100,
    "results_language": "en"
}
  • 更新后的universal源:

{
    "source": "universal",
    "url": "https://yandex.ru/search?text=adidas&numdoc=5&p=2&lr=100&lang=en"
}

参数值

Geo_Location

请在下方查看支持地理位置的完整列表。

示例如下:

"United Arab Emirates",
"Albania",
"Armenia",
"Angola",
"Argentina",
"Australia",
...
"Uruguay",
"Uzbekistan",
"Venezuela Bolivarian Republic of",
"Viet Nam",
"South Africa",
"Zimbabwe"

HTTP_Method

通用 Crawler 支持两种 HTTP 方法。GET(默认)和POST

"GET",
"POST"

最后更新于