使用 Curl 获取 Instagram 的关注者数据

Getting Instagram's followers data using Curl

我正在尝试通过网络抓取和 curl 获取 Instagram 帐户的关注者数量。使用他们的 API 可能更容易,但我想知道为什么这不起作用,因为在很多情况下我通过 HTML.

获得数据
static $url='https://www.instagram.com/cats_of_instagram/';

function getUrlContent($url){
    try {
    $curl_connection = curl_init($url);
    curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);

    //Data are stored in $data
    $data = (curl_exec($curl_connection));
        $position = strpos($data,"<span data-reactid=\".0.1.0.0:0.1.3.1.0.2\"> followers</span>");
        print_r($position);


     curl_close($curl_connection);
    } catch(Exception $e) {
    return $e->getMessage();
    }
}

问题是函数 strpos 没有 return 位置。

$position = strpos($data,"<span data-reactid=\".0.1.0.0:0.1.3.1.0.2\"> followers</span>");

你不能那样做。

页面加载后,您要查找的元素由 javascript 呈现。

curl 不会等待脚本到 运行(也不会 运行)。它只是 returns html.

您可以通过打印 $data 轻松验证这一点。或者查看页面的来源。

要"see"您要查找的元素,您需要使用DOM检查器。