gpt4 book ai didi

javascript - 访问 SEMrush api 响应数据

转载 作者:搜寻专家 更新时间:2023-10-31 21:29:02 29 4
gpt4 key购买 nike

我正在使用 SEMrush api,我在从他们的 api 的响应中提取数据时遇到了一些问题,因为它不遵循标准的“key:value”JSON 格式。在下面的示例中,所有键和值都显示在各自的行中。

请求示例:

http://api.semrush.com/?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&type=domain_ranks&export_columns=Db,Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain=seobook.com&database=us

响应:

Database;Domain;Rank;Organic Keywords;Organic Traffic;Organic Cost;Adwords Keywords;Adwords Traffic;Adwords Cost
us;seobook.com;24041;5249;37332;143496;0;0;0

我在 JavaScript 中使用此方法收效甚微:

function get_sem(){
var results = document.getElementById("sem-test");
var hr = new XMLHttpRequest();
hr.open("GET", "sem-test.php", true);
hr.setRequestHeader("Content-type", "application/json");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var data = JSON.parse(hr.responseText);
results.innerHTML = data.rank;
}
}

hr.send(null);
results.innerHTML = "Requesting...";
}

get_sem();

我怎样才能准确定位这些值?

来源: http://www.semrush.com/api-analytics/

最佳答案

是的,SEMrush 响应的格式真的很奇怪。我如何在我的一项任务中实现它。 PHP 端(例如,我需要 Organic Traffic):

E.g. response is "Rank;Organic Keywords;Organic Traffic;Organic Cost;Adwords Keywords;Adwords Traffic;Adwords Cost 114787;2173;1400;338;37;1645;634"

// split names & values
list($names,$values) = preg_split("/[\s,][\d]/",$response);// <= set here your regex according your response
$names = str_replace(' ','_',trim($names));
$names = explode(';',$names);
$values = explode(';',$values);
$SEMrush_data = array_combine($names,$values);
echo $SEMrush_data['Organic_Traffic]; // 1400
var_dump($SEMrush_data);
// OUTPUT
array(7) {
["Rank"]=>
string(5) "14787"
["Organic_Keywords"]=>
string(4) "2173"
["Organic_Traffic"]=>
string(4) "1400"
["Organic_Cost"]=>
string(3) "338"
["Adwords_Keywords"]=>
string(2) "37"
["Adwords_Traffic"]=>
string(4) "1645"
["Adwords_Cost"]=>
string(3) "634"
}

关于javascript - 访问 SEMrush api 响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32237596/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com