跳转到主要内容
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
on_page
/
keyword_density
关键词密度
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "<string>",
  "keyword_length": 123,
  "url": "<string>",
  "limit": 123,
  "filters": [
    "<string>"
  ],
  "order_by": [
    "<string>"
  ],
  "tag": "<string>"
}
'
import requests

url = "https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density"

payload = {
"id": "<string>",
"keyword_length": 123,
"url": "<string>",
"limit": 123,
"filters": ["<string>"],
"order_by": ["<string>"],
"tag": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
keyword_length: 123,
url: '<string>',
limit: 123,
filters: ['<string>'],
order_by: ['<string>'],
tag: '<string>'
})
};

fetch('https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => '<string>',
'keyword_length' => 123,
'url' => '<string>',
'limit' => 123,
'filters' => [
'<string>'
],
'order_by' => [
'<string>'
],
'tag' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density"

payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"keyword_length\": 123,\n \"url\": \"<string>\",\n \"limit\": 123,\n \"filters\": [\n \"<string>\"\n ],\n \"order_by\": [\n \"<string>\"\n ],\n \"tag\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"keyword_length\": 123,\n \"url\": \"<string>\",\n \"limit\": 123,\n \"filters\": [\n \"<string>\"\n ],\n \"order_by\": [\n \"<string>\"\n ],\n \"tag\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/dataforseo/on_page/keyword_density")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"keyword_length\": 123,\n \"url\": \"<string>\",\n \"limit\": 123,\n \"filters\": [\n \"<string>\"\n ],\n \"order_by\": [\n \"<string>\"\n ],\n \"tag\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "version": "<string>",
  "status_code": 123,
  "status_message": "<string>",
  "time": "<string>",
  "cost": 123,
  "tasks_count": 123,
  "tasks_error": 123,
  "tasks": [
    "<string>"
  ],
  "tasks.id": "<string>",
  "tasks.status_code": 123,
  "tasks.status_message": "<string>",
  "tasks.time": "<string>",
  "tasks.cost": 123,
  "tasks.result_count": 123,
  "tasks.path": [
    "<string>"
  ],
  "tasks.data": {},
  "tasks.result": [
    "<string>"
  ],
  "tasks.result.crawl_progress": "<string>",
  "tasks.result.crawl_status": {},
  "tasks.result.crawl_status.max_crawl_pages": 123,
  "tasks.result.crawl_status.pages_in_queue": 123,
  "tasks.result.crawl_status.pages_crawled": 123,
  "tasks.result.total_items_count": 123,
  "tasks.result.items_count": 123,
  "tasks.result.items": [
    "<string>"
  ],
  "tasks.result.items.keyword": "<string>",
  "tasks.result.items.frequency": 123,
  "tasks.result.items.density": 123
}

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求体

application/json
id
string
必填

任务 ID,必填字段;您可以从 Task POST 端点的响应中获取此 ID。示例:“07131248-1535-0216-1000-17384017ad04”

keyword_length
integer
必填

关键词的单词数,必填字段;可选值:1、2、3、4、5

url
string

页面 URL;可选字段;如果未在此处指定页面,将提供整个网站的结果;如果使用此字段,API 响应将仅包含指定页面中的关键词;页面应使用绝对 URL 指定(包括 http:// 或 https://)

limit
integer

返回的关键词最大数量,可选字段,默认值:100,最大值:1000

filters
string[]

结果过滤参数数组,可选字段。您可以同时添加多个过滤器(最多 8 个过滤器)。应在条件之间设置逻辑运算符 and、or。支持以下运算符:regex, not_regex, =, , in, not_in, like, not_like。您可以将 % 运算符与 like 和 not_like 结合使用,以匹配由零个或多个字符组成的任意字符串。示例:["keyword","=","%seo%"] [["keyword","=","%seo%"], "and", ["frequency"," [["keyword","not_like","%seo%"], "and", [["frequency",">","6"],"or",["density",">","0.02"]]]。可用过滤器的完整列表可通过此链接查看。

order_by
string[]

结果排序规则,可选字段。可以使用与 filters 数组中相同的值对结果进行排序。可用排序类型:asc – 结果将按升序排列;desc – 结果将按降序排列。应使用逗号设置排序类型,示例:["frequency,desc"]。请注意,单个请求最多可以设置三条排序规则。应使用逗号分隔多条排序规则,示例:["keyword,asc","frequency,desc"]

tag
string

用户定义的任务标识符。可选字段。字符数限制为 255。您可以使用此参数标识任务并将其与结果匹配;您将在响应的 data 对象中找到指定的 tag 值

响应

成功响应

version
string

API 的当前版本

status_code
integer

通用状态码;您可以在此处查看完整的响应码列表。注意:我们强烈建议设计必要的系统来处理相关异常或错误情况

status_message
string

常规信息消息;可在此处查看常规信息消息的完整列表

time
string

执行时间(秒)

cost
number

任务总成本(美元)

tasks_count
integer

tasks 数组中的任务数量

tasks_error
integer

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

tasks
string[]

任务数组

tasks.id
string

任务标识符,系统中采用 UUID 格式的唯一任务标识符

tasks.status_code
integer

DataForSEO 生成的任务状态码;范围为:10000-60000;完整响应代码列表可在此处查看

tasks.status_message
string

任务的信息性消息,你可以在此处查看通用信息性消息的完整列表

tasks.time
string

执行时间(秒)

tasks.cost
number

任务成本(美元)

tasks.result_count
integer

结果数组中的元素数量

tasks.path
string[]

URL 路径

tasks.data
object

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

tasks.result
string[]

结果数组

tasks.result.crawl_progress
string

抓取会话的状态,可能的值:in_progress、finished

tasks.result.crawl_status
object

抓取会话的详细信息

tasks.result.crawl_status.max_crawl_pages
integer

最大抓取页面数,表示设置任务时指定的 max_crawl_pages 限制

tasks.result.crawl_status.pages_in_queue
integer

当前位于抓取队列中的页面数量

tasks.result.crawl_status.pages_crawled
integer

已抓取页面数

tasks.result.total_items_count
integer

相关项目总数;指定网站或网页上符合所设置 keyword_length 和过滤条件的关键词总数

tasks.result.items_count
integer

results 数组中的项目数量

tasks.result.items
string[]

items 数组

tasks.result.items.keyword
string

返回的关键词

tasks.result.items.frequency
integer

关键词频次,即关键词在网站中出现的次数(如果指定了 url,则为在网页中出现的次数)

tasks.result.items.density
integer

关键词密度,按网页或网站上具有指定 keyword_length 的关键词出现频率与关键词总数之比计算