以编程方式获取LinkedIn共享页面统计信息

时间:2011-11-15 15:27:22

标签: php share linkedin

我正在寻找一种获取页面的分享按钮统计信息的方法。 例如,当你在你的网站上使用我的类时,我正在编写一个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,然后获取分享按钮数:)

你对我有什么想法吗?

2 个答案:

答案 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