Hämta Alexa Ranking Med PHP Samt Domän Information

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.

http://aws.amazon.com/awis/

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 här inlägget postades i PHP, Projekt. Bokmärk permalänken.

2 kommentarer till Hämta Alexa Ranking Med PHP Samt Domän Information

  1. Fredrik Näs skriver:

    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

  2. John Pålsson skriver:

    Tack Fredrik hade faktiskt ingen aning om det, har uppdaterat inlägget.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Comments links could be nofollow free.