EDIT Fredrik Nas kommentera precis angående Alexa ranking, som han skriver så kostar det att hämta ut information från Alexa vilket jag inte hade någon aning om.
Tack Fredrik
Satt och lekte lite idag mest för att kolla hur saker och ting fungerar för framtida projekt.
Det första är hur man hämtar utt alexa ranking med php vilket var väldigt enkelt som allt annat i PHP
.
function getAlexaRank($url)
{
$url = ‘http://data.alexa.com/data?cli=10&dat=s&url=’.$url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$html = curl_exec($ch);
curl_close($ch);
preg_match(‘/<POPULARITY URL=”(.*?)” TEXT=”([0-9]+){1,}”\/>/’, $html, $matches);
$value = ($matches[2]) ? number_format($matches[2]) : 0;
return $value;
}
Det andra jag satt o lekte med var hur man hämtar ut information om en domän så som expire date, registrerings datum och så vidare.
$urlToFetch = 'wn.se';
$sock = fsockopen("whois.nic-se.se", 43) or die('Error Connecting To Server:');
fputs($sock, "$urlToFetch\r\n");while( !feof($sock) )
{
$buffer .= fgets($sock,128);
}
fclose($sock);
preg_match("/state: (.+)/", $buffer, $state);
preg_match("/holder: (.+)/", $buffer, $holder);
preg_match("/admin-c: (.+)/", $buffer, $admin);
preg_match("/tech-c: (.+)/", $buffer, $tech);
preg_match("/billing-c: (.+)/", $buffer, $billing);
preg_match_all("/nserver: (.+)/", $buffer, $nserver);
preg_match("/dnssec: (.+)/", $buffer, $dnssec);
preg_match("/status: (.+)/", $buffer, $status);
preg_match("/created: ([0-9-]+)/", $buffer, $created);
preg_match("/modified: ([0-9-]+)/", $buffer, $modified);
preg_match("/expires: ([0-9-]+)/", $buffer, $expires);
preg_match("/registrar: (.+)/", $buffer, $registrar);
echo 'State: ' . $state[1] . '<br />';
echo 'Holder: ' . $holder[1] . '<br />';
echo 'Admin-c: ' . $admin[1] . '<br />';
echo 'Tech-c: ' . $tech[1] . '<br />';
echo 'Billing-c: ' . $billing[1] . '<br />';
echo 'DNSsec: ' . $dnssec[1] . '<br />';
$count = 1;
foreach($nserver[1] as $value)
{
echo "NS$count: " . $value . '<br />';
$count++;
}
echo 'Created: ' . $created[1] . '<br />';
echo 'Modified: ' . $modified[1] . '<br />';
echo 'Expires: ' . $expires[1] . '<br />';
echo 'Registrar: ' . $registrar[1] . '<br />';
echo 'Status: ' . $status[1] . '<br />';
Kanske blir användbart för någon annan?
Det tillhör nog också historien att Alexa måste du betala för att få hämta data, gör du det på det viset du gör, så är du sannolikt ganska snabbt blockerad. Dom erbjuder ett API genom Amazon. AWIS.
Alexa vill ha betalt 0.00015$ per query du gör.
MVH Fredrik Näs
Tack Fredrik hade faktiskt ingen aning om det, har uppdaterat inlägget.