Felo API PlatformFelo API Platform
全部 DataForSEO 端点
v0.2.0-beta
OpenAPI 3.1.0

设置 OnPage 任务

服务器:https://openapi.felo.ai
客户端库

DataForSEO

​

SEO, search-engine results, keyword research, backlinks and AI visibility data.

设置 OnPage 任务

​

开始对 target 进行爬取,并在 tasks[0].id 中返回任务 id——该 id 是本系列其他所有工具都需要的句柄,请保留它。max_crawl_pages 限制爬取规模,start_url、max_crawl_depth、priority_urls 和 crawl_delay 塑造爬取方式,store_raw_html 决定 post_dataforseo_on_page_raw_html 之后是否有内容可提供。采用 DataForSEO 的信封结构:数据位于 tasks[0].result,结果状态位于 tasks[0].status_code——被拒绝的请求仍会返回 HTTP 200。⚠️ 这不是常见的提交/获取配对:爬取是一个会话,随后由十几个其他工具按 id 查询。轮询 get_dataforseo_on_page_summary 直到 crawl_progress 显示 finished;对 example.com 的单页爬取用时远不到一分钟。

计费参考

  • 计量方式:按上报的响应成本计量。
  • 参考请求估算:0.003 美元。
  • 参考客户倍率:1.0。不得对已结算的客户金额再次应用。

仅供参考的元数据,不是账户报价、保证价格或消费上限。资源额度不同于 Felo 额度。最终扣费以 Felo 计费记录为准。

请求体
application/json
  • 类型: array (object | null)[]
    • accept_language
      类型: string | null

      访问网站的语言标头
      可选字段
      支持所有语言区域格式(xx、xx-XX、xxx-XX 等)
      注意:如果你不指定此参数,某些网站可能会拒绝访问;此时响应数组中的页面将带有 "type":"broken

    • allow_subdomains
      类型: boolean | null

      包含子域名上的页面
      可选字段
      如果要抓取目标网站的所有子域名,请设为 true
      默认值:false

    • allowed_subdomains
      类型: array string[] | null

      要抓取的子域名
      可选字段
      指定你想抓取的子域名
      示例:["blog.site.com", "my.site.com", "shop.site.com"]
      注意:要使用此参数,allow_subdomains 参数应设为 false;
      否则,allowed_subdomains 字段的内容将被忽略,结果将针对所有子域名返回

    • browser_preset
      类型: string | null

      浏览器屏幕参数预设
      可选字段
      如果使用此字段,则无需指定 browser_screen_width、browser_screen_height、browser_screen_scale_factor可选值:
      desktop、mobile、tabletdesktop 预设将应用以下值:browser_screen_width: 1920
      browser_screen_height: 1080
      browser_screen_scale_factor: 1mobile 预设将应用以下值:browser_screen_width: 390
      browser_screen_height: 844
      browser_screen_scale_factor: 3tablet 预设将应用以下值:browser_screen_width: 1024
      browser_screen_height: 1366
      browser_screen_scale_factor: 2
      注意:要使用此参数,请将 enable_javascript 或 enable_browser_rendering 设为 true

    • browser_screen_height
      类型: integer | null

      浏览器屏幕高度
      可选字段
      你可以设置自定义的浏览器屏幕高度,以便针对特定设备进行审计;
      如果使用此字段,则无需指定 browser_preset,它将被忽略;
      注意:要使用此参数,请将 enable_javascript 或 enable_browser_rendering 设为 true最小值(像素):240
      最大值(像素):9999

    • browser_screen_scale_factor
      类型: number | null

      浏览器屏幕缩放比例
      可选字段
      你可以设置自定义的浏览器屏幕分辨率比例,以便针对特定设备进行审计;
      如果使用此字段,则无需指定 browser_preset,它将被忽略;
      注意:要使用此参数,请将 enable_javascript 或 enable_browser_rendering 设为 true最小值:0.5
      最大值:3

    • browser_screen_width
      类型: integer | null 格式: int64

      浏览器屏幕宽度
      可选字段
      你可以设置自定义的浏览器屏幕宽度,以便针对特定设备进行审计;
      如果使用此字段,则无需指定 browser_preset,它将被忽略;
      注意:要使用此参数,请将 enable_javascript 或 enable_browser_rendering 设为 true最小值(像素):240
      最大值(像素):9999

    • calculate_keyword_density
      类型: boolean | null

      计算目标域名的关键词密度
      可选字段
      如果要计算网站页面的关键词密度,请设为 true
      默认值:false
      注意:使用此参数将产生额外费用;请在我们的帮助文章中了解带有此参数的任务费用
      抓取完成后,你可以通过Keyword Density 端点获取关键词密度值

    • check_spell
      类型: boolean | null

      检查拼写
      可选字段
      设为 true 可使用 Hunspell 库检查网站上的拼写
      默认值:false

    • check_spell_exceptions
      类型: array string[] | null

      从拼写检查中排除的单词
      可选字段
      指定你想从拼写检查中排除的单词
      单词最大长度:100 个字符
      单词数量上限:1000
      示例: "SERP", "minifiers", "JavaScript"

    • check_spell_language
      类型: string | null

      拼写检查的语言
      可选字段
      支持的语言:'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
      注意:如果未指定语言,将根据页面内容自动设置

    • checks_threshold
      类型: object | null

      自定义检查阈值
      可选字段
      你可以为 OnPage API 响应的 checks 对象中的参数指定自定义阈值;
      注意:只能修改整数阈值;
      例如,high_loading_time 和 large_page_size 参数默认分别设为 3 秒和 1 兆字节;
      如果要将这些阈值改为 1 秒和 1000 KB,请使用以下代码片段:
      "checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
      可自定义的参数及默认值:
      "title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"

      • propertyName
        类型: integer | null 格式: int64

        Signed 64-bit integers (long type).

    • crawl_delay
      类型: integer | null

      命中间隔,毫秒
      可选字段
      爬虫对服务器的多次命中之间的自定义延迟
      默认值:2000

    • crawl_sitemap_only
      类型: boolean | null

      仅爬取站点地图中指示的页面
      可选字段
      如果只想爬取站点地图中指示的页面,请设为 true
      如果将此参数设为 true 且未指定 custom_sitemap,将爬取默认站点地图
      默认值:false
      注意:如果要使用此参数,respect_sitemap 应为 true

    • custom_js
      类型: string | null

      自定义 JavaScript
      可选字段
      注意:此处输入的脚本执行时间最长应为 700 ms。例如,可以使用以下 JS 片段检查网站是否以 scr 属性包含 Google Tag Manager:
      let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;返回值取决于你在此字段中指定的内容。例如,如果指定以下脚本:
      meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
      你将收到以下数据作为响应:
      "custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
      注意:输入的脚本长度不得超过 2000 个字符

    • custom_robots_txt
      类型: string | null

      自定义 robots.txt 设置
      可选字段
      示例:Disallow: /directory1/

    • custom_sitemap
      类型: string | null

      自定义站点地图 URL
      可选字段
      替代站点地图所在页面的 URL
      注意:如果要使用此参数,respect_sitemap 应为 true

    • custom_user_agent
      类型: string | null

      自定义用户代理
      可选字段
      用于抓取网站的自定义用户代理
      示例: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

      默认值:Mozilla/5.0 (compatible; RSiteAuditor)

    • disable_cookie_popup
      类型: boolean | null

      禁用 Cookie 弹窗
      可选字段
      如果希望禁用向用户请求 Cookie 同意的弹窗,请设为 true;
      默认值:
      false

    • disable_page_checks
      类型: array string[] | null

      阻止某些页面检查运行
      可选字段
      指定某些 checks,以阻止其运行并影响 onpage_score。示例:
      "disable_page_checks": ["is_5xx_code", "is_4xx_code"]

    • disable_sitewide_checks
      类型: array string[] | null

      阻止某些全站检查运行
      可选字段
      指定以下 checks,以阻止它们在 target 网站上运行:
      "test_page_not_found"
      "test_canonicalization"
      "test_https_redirect"
      "test_directory_browsing"示例:
      "disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]在帮助中心了解更多

    • disallowed_subdomains
      类型: array string[] | null

      不爬取的子域名
      可选字段
      指定不希望爬取的子域名
      示例:["status.site.com", "docs.site.com"]
      注意:要使用此参数,allow_subdomains 参数应设为 true

    • enable_browser_rendering
      类型: boolean | null

      模拟浏览器渲染以测量 Core Web Vitals
      可选字段
      使用此参数可以在加载网页时模拟浏览器;
      enable_browser_rendering 会加载页面上的样式、图片、字体、动画、视频和其他资源;
      默认值:false
      设为 true 以在响应中获取 Core Web Vitals(FID、CLS、LCP)指标;
      如果使用此字段,enable_javascript 和 load_resources 参数必须设为 true
      注意:使用此参数将产生额外费用;有关使用此参数的任务费用,请参阅帮助文章;费用可在价格页面计算

    • enable_content_parsing
      类型: boolean | null

      解析爬取页面的内容
      可选字段
      设为 true 以使用OnPage Content Parsing 端点
      默认值:false

    • enable_javascript
      类型: boolean | null

      在页面中加载 JavaScript
      可选字段
      如果希望加载页面上可用的脚本,请设为 true
      默认值:false
      注意:使用此参数将产生额外费用;有关使用此参数的任务费用,请参阅帮助文章;费用可在价格页面计算

    • enable_www_redirect_check
      类型: boolean | null

      检查域名是否实现了 www 重定向
      可选字段
      如果希望检查所请求的域名是否实现了 www 到非 www 或非 www 到 www 的重定向,请设为 true;
      默认值:false

    • enable_xhr
      类型: boolean | null

      在页面中启用 XMLHttpRequest
      可选字段
      如果希望我们的爬虫使用 XMLHttpRequest 对象从 Web 服务器请求数据,请设为 true
      默认值:false;如果使用此字段,enable_javascript 必须设为 true;

    • force_sitewide_checks
      类型: boolean | null

      爬取单个页面时启用全站检查
      可选字段
      如果希望在爬取单个页面时获取全站检查数据,请设为 true;
      默认值:false

    • load_resources
      类型: boolean | null

      加载资源
      可选字段
      如果希望加载图片、样式表、脚本和损坏的资源,请设为 true
      默认值:false
      注意:使用此参数将产生额外费用;有关使用此参数的任务费用,请参阅帮助文章;费用可在价格页面计算

    • max_crawl_depth
      类型: integer | null

      爬取深度
      可选字段
      要爬取页面的链接深度;
      例如,爬取的起始页面为第 0 层,与该页面存在链接的页面为第 1 层,依此类推。

    • max_crawl_pages
      类型: integer

      爬取页面数上限
      必填字段
      在指定域名上要爬取的页面数量
      注意:
      如果将 max_crawl_pages 设为 1 且未指定 start_url 或将其设为首页,以下全站检查将被禁用:
      test_canonicalization、enable_www_redirect_check、test_hidden_server_signature、test_page_not_found、test_directory_browsing、test_https_redirect
      要强制启用它们,请将 force_sitewide_checks 设为 true。如果 max_crawl_pages 设为 1 且 start_url 指定的不是首页,所有全站检查都将被禁用;
      要强制启用它们,请将 force_sitewide_checks 设为 true

    • pingback_url
      类型: string | null

      任务完成通知 URL
      可选字段
      任务完成后,我们会向你指定的 URL 发送 GET 请求进行通知
      可将 ‘$id’ 字符串用作 $id 变量,将 ‘$tag’ 用作经 URL 编码的 $tag 变量。发送请求前我们会设置必要的值。
      示例:
      http://your-server.com/pingscript?id=$id
      http://your-server.com/pingscript?id=$id&amp;tag=$tag
      注意:pingback_url 中的特殊字符会进行 URL 编码;
      例如,# 字符会被编码为 %23

      详情请参阅我们的 帮助中心

    • priority_urls
      类型: array string[] | null

      绕过队列优先爬取的 URL
      可选字段
      此数组中指定的 URL 将优先爬取,绕过爬取队列;
      注意:应指定绝对 URL;
      最多可指定 20 个 URL;
      数组中的所有 URL 必须属于 target 域名;
      除非 allow_subdomains 参数设为 true,否则子域名将被忽略。示例:
      "priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>]

    • respect_sitemap
      类型: boolean | null

      爬取时遵循站点地图
      可选字段
      如果希望在爬取时按主站点地图中指示的页面顺序进行,请设为 true;
      默认值:false
      注意:如果设为 true,API 响应中的 click_depth 值将等于 0;
      请求中的 max_crawl_depth 字段将被忽略,你可以使用 max_crawl_pages 参数指定要爬取的页面数量

    • return_despite_timeout
      类型: boolean | null

      即使超时也返回页面数据
      可选字段
      如果为 true,将提供在 120 秒内加载失败并返回超时错误的页面的数据;
      默认值:false

    • robots_txt_merge_mode
      类型: string | null

      合并或覆盖 robots.txt 设置
      可选字段
      可能的值:merge、override;
      如果希望忽略网站爬取限制及其他 robots.txt 设置,请设为 override
      默认值:merge;
      注意:如果设为 override,请指定 custom_robots_txt 参数

    • start_url
      类型: string | null

      要爬取的第一个 URL
      可选字段
      注意:应指定绝对 URL
      如果只想爬取单个页面,请在此字段中指定其 URL,并将 max_crawl_pages 参数设为 1
      也可以使用实时 Instant Pages 端点获取特定页面的数据

    • store_raw_html
      类型: boolean | null

      存储爬取页面的 HTML
      可选字段
      如果希望通过OnPage Raw HTML 端点获取页面的 HTML,请设为 true
      默认值:false

    • support_cookies
      类型: boolean | null

      支持爬取页面的 Cookie
      可选字段
      设为 true 以在爬取页面时支持 Cookie
      默认值:false

    • switch_pool
      类型: boolean | null

      切换代理池
      可选字段
      如果为 true,将使用其他代理池获取所请求的数据;
      如果同时设置大量任务,导致偶尔出现 rate-limit 和/或 site_unreachable 错误,可以使用此参数

    • tag
      类型: string | null

      用户自定义任务标识符
      可选字段
      字符数上限为 255
      可使用此参数标识任务,并将其与结果对应
      可在响应的 data 对象中找到指定的 tag 值

    • target
      类型: string

      目标域名
      必填字段
      域名不应包含 https:// 和 www.
      如果指定页面 URL,将返回该 URL 中所含域名的结果

    • validate_micromarkup
      类型: boolean | null

      启用微数据验证
      可选字段
      如果希望使用OnPage API Microdata 端点,请设为 true
      默认值:false

响应
  • 200
    类型: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo
    • cost
      类型: number | null 格式: double

      任务总费用,美元

    • status_code
      类型: integer | null

      通用状态码 完整响应码列表见此处

    • status_message
      类型: string | null

      通用信息性消息 完整的一般信息性消息列表见此处

    • tasks
      类型: array (object | null)[] | null

      任务数组

      • 类型: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
        • cost
          类型: number | null 格式: double

          任务总费用,美元

        • data
          类型: object | null

          包含你在 POST 请求中指定的相同参数

          • propertyName
            类型: object | null
        • id
          类型: string | null

          任务标识符 我们系统中 UUID 格式的唯一任务标识符

        • path
          类型: array (string | null)[] | null

          URL 路径

        • result
          类型: object | null

          结果数组
          在本例中,该值将为 null

        • result_count
          类型: integer | null 格式: int64

          result 数组中的元素数

        • status_code
          类型: integer | null

          任务的状态码 由 DataForSEO 生成,范围如下:10000-60000 完整响应码列表见此处

        • status_message
          类型: string | null

          任务的信息性消息 完整的一般信息性消息列表见此处

        • time
          类型: string | null

          执行时间,秒

    • tasks_count
      类型: integer | null 格式: int64

      tasks 数组中的任务数

    • tasks_error
      类型: integer | null 格式: int64

      tasks 数组中返回错误的任务数

    • time
      类型: string | null

      总执行时间,秒

    • version
      类型: string | null

      API 的当前版本

    application/json
  • 400

    无法处理该请求。请检查请求参数。

  • 401

    需要有效的 Felo API 密钥。

  • 402

    由于未满足计费要求,请求无法继续。

  • 403

    该账户无权执行此操作。

  • 429

    已达到请求或支出限额。

  • 502

    服务无法完成该请求。

  • 503

    API 或计费服务暂时不可用。

  • 504

    服务在处理请求时超时。

  • default

    错误响应;上游透传响应可能采用提供方格式

    application/json
Request Example for post/v1/beta/dataforseo/on_page/task_post
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {
    "target": "dataforseo.com",
    "max_crawl_pages": 10,
    "load_resources": true,
    "enable_javascript": true,
    "custom_js": "meta = {}; meta.url = document.URL; meta;",
    "tag": "some_string_123",
    "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
  }
]'
{
  "version": null,
  "status_code": null,
  "status_message": null,
  "time": null,
  "cost": null,
  "tasks_count": null,
  "tasks_error": null,
  "tasks": [
    {
      "id": null,
      "status_code": null,
      "status_message": null,
      "time": null,
      "cost": null,
      "result_count": null,
      "path": [
        null
      ],
      "data": null,
      "result": null
    }
  ]
}
Setting OnPage Tasks

需要帮助?