如何使用php查找网站的入站和出站链接总数?
答案 0 :(得分:1)
计算出站链接
到入站链接
答案 1 :(得分:1)
对于出站链接,您必须按照此处的建议解析网站的HTML代码。
对于入站链接,我建议使用Google自定义搜索API,向谷歌发送直接请求可以让您的IP被禁止。您可以查看搜索API here。这是我在我的代码中使用的函数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
将返回返回的结果数。
答案 2 :(得分:0)
PHP无法通过一些简单的操作来确定页面的入站链接。您要么必须监控所有传入的访问者并检查他们的推荐人是什么,要么解析整个互联网以获取指向该网站的链接。第一种方法会错过未使用的链接,第二种方法最好留给Google。
另一方面,来自站点的出站链接是可行的。您可以在页面中阅读并分析文本以查找带有正则表达式的链接,并计算总数。
答案 3 :(得分:0)
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