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 MB;
      如果要將這些閾值改為 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 物件從網頁伺服器請求資料,請設為 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

需要協助嗎?