| Ну он просто парсит сервис backlinkwatch.com
Да я даже его выложить могу:
<?php
function get_yandex($url){
$ret = 'N/A';
if( substr($url,0,7) != 'http://' )
$url = 'http://' . $url;
if( $content = get_download('http://bar-navig.yandex.ru/u?ver=2&url='. urlencode($url) .'&show=1&post=0') ){
if( class_exists('SimpleXMLElement') ){
if( $xmldoc = new SimpleXMLElement($content) ){
$tcy = $xmldoc->tcy;
if( !empty($tcy) ){
$ret = $tcy['value'];
}
}
}
else{
preg_match("/value=\"(.\d*)\"/",$content,$tic);
if( !empty($tic[1]) ) $ret = $tic[1];
}
}
return $ret;
}
function get_download($url){
$ret = false;
if( function_exists('curl_init') ){
if( $curl = curl_init() ){
if( !curl_setopt($curl,CURLOPT_URL,$url) ) return $ret;
if( !curl_setopt($curl,CURLOPT_RETURNTRANSFER,true) ) return $ret;
if( !curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30) ) return $ret;
if( !curl_setopt($curl,CURLOPT_HEADER,false) ) return $ret;
if( !curl_setopt($curl,CURLOPT_ENCODING,"gzip,deflate") ) return $ret;
$ret = curl_exec($curl);
curl_close($curl);
}
}
else{
$u = parse_url($url);
if( $fp = @fsockopen($u['host'],!empty($u['port']) ? $u['port'] : 80 ) ){
$headers = 'GET '. $u['path'] . '?' . $u['query'] .' HTTP/1.0'. "\r\n";
$headers .= 'Host: '. $u['host'] ."\r\n";
$headers .= 'Connection: Close' . "\r\n\r\n";
fwrite($fp, $headers);
$ret = '';
while( !feof($fp) ){
$ret .= fgets($fp,1024);
}
$ret = substr($ret,strpos($ret,"\r\n\r\n") + 4);
fclose($fp);
}
}
return $ret;
}
if (empty($_POST['site']))
echo
<<<HTML_FORM
<center>
Input urls
<form method=POST>
<input type='text' name='site'><br>
<input type='submit' value='Prepare'>
</form>
<center>
HTML_FORM;
else
{
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://www.backlinkwatch.com/index.php');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"backlinkurl=$_POST[site]");
$parameters=curl_exec($ch);
curl_close($ch);
//$parameters=file_get_contents('C:\Backlinkwatch.txt');
/*$pos=strpos($parameters,'<td valign="middle"class="row"align="left" width="200" >')+57;
While ($parameters[$pos]!='<')
{
$backlinkpage[$i]=$backlinkpage[$i].$parameters[$pos];
$pos++;
}*/
preg_match_all('#<td valign="middle"class="row"align="left" width="200" >(.*?)</td>#i', $parameters, $inlink,PREG_SET_ORDER);
preg_match_all('#<td valign="middle"class="row"align="left" width="28" >(.*?)</td>#i', $parameters, $anchor,PREG_SET_ORDER);
preg_match_all('#<td valign="middle"class="row"align="center" width="12" >(.*?)</td>#i', $parameters, $OBL,PREG_SET_ORDER);
preg_match_all('#<td valign="middle"class="row"align="center" width="15" >(.*?)</td>#i', $parameters, $Flag,PREG_SET_ORDER);
for ($i=0;$i<=count($inlink)-1;$i++)
{
preg_match('#<a href="(.*?)"#i',$inlink[$i][1],$url);
echo $i.' '.$inlink[$i][1].' '.$anchor[$i][1].' '.$OBL[$i][1].' '.$Flag[$i][1].get_yandex($url[1]).'<br><br>';
}
}
?> | |