如何使用php查找网站的入站和出站链接总数?

如何使用php查找网站的入站和出站链接总数?,php,Php,如何使用php查找网站的入站和出站链接总数?php无法通过一些简单的操作来确定页面的入站链接。你要么要监视所有来访者并检查他们的推荐人是什么,要么解析整个互联网上指向该网站的链接。第一种方法将错过未使用的链接,第二种方法最好留给谷歌 另一方面,来自站点的出站链接是可行的。您可以在页面中阅读并分析文本中的正则表达式链接,计算总数。计算出站链接 解析网页的html 使用正则表达式解析所有链接 筛选以您的域或“/”开头的链接 到入站链接 抓取谷歌搜索结果页面 : 相似解析 对于出站链接,您必须解

如何使用php查找网站的入站和出站链接总数?

php无法通过一些简单的操作来确定页面的入站链接。你要么要监视所有来访者并检查他们的推荐人是什么,要么解析整个互联网上指向该网站的链接。第一种方法将错过未使用的链接,第二种方法最好留给谷歌


另一方面,来自站点的出站链接是可行的。您可以在页面中阅读并分析文本中的正则表达式链接,计算总数。

计算出站链接

  • 解析网页的html
  • 使用正则表达式解析所有链接
  • 筛选以您的域或“/”开头的链接
到入站链接

  • 抓取谷歌搜索结果页面
  • :
  • 相似解析

对于出站链接,您必须解析网站的HTML代码,正如这里的一些人所建议的那样

对于入站链接,我建议使用Google自定义搜索API,直接向Google发送请求可以禁止您的ip。您可以查看搜索api。以下是我在此api代码中使用的函数:

  function doGoogleSearch($searchTerm)
  {
    $referer = 'http://your-site.com';
    $args['q'] = $searchTerm;        
    $endpoint = 'web';
    $url = "http://ajax.googleapis.com/ajax/services/search/".$endpoint;

    $args['v'] = '1.0';
    $key= 'your-api-key';


    $url .= '?'.http_build_query($args, '', '&');

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    $body = curl_exec($ch);
    curl_close($ch);
    //decode and return the response
    return json_decode($body);
  }
将此函数调用为:
$result=doGoogleSearch('link:site.com')
后,变量
$result->cursor->estimatedResultCount
将返回结果数。

函数getGoogleLinks($host)
function getGoogleLinks($host)
{

    $request = "http://www.google.com/search?q=" . urlencode("link:" . $host) ."&hl=en";

    $data = getPageData($request);
    preg_match('/<div id=resultStats>(About )?([\d,]+) result/si', $data, $l);
    $value = ($l[2]) ? $l[2] : "n/a";
    $string = "<a href=\"" . $request . "\">" . $value . "</a>";
    return $string;
}
//$host means the domain name
{ $request=”http://www.google.com/search?q=“.urlencode”(“链接:”.$host)。“&hl=en”; $data=getPageData($request); preg_match('/(About)([\d,]+)result/si',$data,$l); $value=($l[2])?$l[2]:“不适用”; $string=“”; 返回$string; } //$host表示域名
项目范围、服务器范围、全球范围?应该是什么,先生?您可以使用
preg\u match\u all
使用
'
获取所有锚元素。然后你可以将锚的URL域与网站的URL进行比较。我希望这对你有用。它用于查找入站和出站链接的总数检查器。查找感谢dude。你给了我确切的答案。我将在之后编写此代码,我将返回给你。非常感谢。如果我在本地主机服务器中运行此代码,我想在referer变量中添加什么?dude它工作得很好。实际上,我从curl_exec()获得了json内容在编码之前。现在我想以该数据的Json格式获取url的所有值。@sirin我不确定你的意思是什么?如果你阅读了我链接到的文档,你可能会找到你想要的东西。我想从谷歌的APIf not works返回的结果页面中找到url,“&”应该改为“&”(即无空格b/w&)