我正在寻找一种获取页面的分享按钮统计信息的方法。 例如,当你在你的网站上使用我的类时,我正在编写一个PHP类:
include("shareButtonStats.class.php");
$stats = new shareButtonStats;
echo "This page shared " . $stats->show . " times on LinkedIn";
正如您所看到的,我需要获取该页面的统计数据,分享多少次。
如您所知,当我们为分享按钮(from here)添加LİnkedIn的js文件时,它会在我们的页面中包含一些HTML代码。像这样:
<span class="IN-widget" style="line-height: 1; vertical-align: baseline; display: inline-block; text-align: center;">
<span style="padding: 0pt ! important; margin: 0pt ! important; text-indent: 0pt ! important; display: inline-block ! important; vertical-align: baseline ! important; font-size: 1px ! important;">
<span id="li_ui_li_gen_1321370527058_1-container" class="IN-top">
<span id="li_ui_li_gen_1321370527058_1" class="IN-top">
.......
如果我获得HTML代码,而不将其直接包含在页面中,我可以使用RegEx,然后获取分享按钮数:)
你对我有什么想法吗?
答案 0 :(得分:2)
我相信他们这样做并且是一个需要URL的简单网页。它返回JavaScript或PHP可以解析的JSON
希望这会有所帮助
http://www.linkedin.com/countserv/count/share?url=http://www.apple.com
答案 1 :(得分:2)
LinkedIn提供了一个可以做到这一点的外部API。以下是您可以使用它的方法:
function getLinkedInCount($url)
{
$curl = curl_init("http://www.linkedin.com/cws/share-count?url=" . $url);
if (is_resource($curl) === true)
{
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_REFERER, "http://www.linkedin.com/");
$result = false;
$retries = 3;
while (($result === false) && (--$retries > 0))
{
$result = curl_exec($curl);
}
curl_close($curl);
}
$arr = json_decode(substr($result, 26));
return $arr->count;
}
echo getLinkedInCount("http://www.google.com/") . "\n";
我为此使用了cURL,但您可以使用另一种下载页面的方法。
要进行现场演示,请参阅:http://codepad.viper-7.com/VDD5aI