我正在尝试通过网络报废和卷曲来获取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
没有返回位置。
$position = strpos($data,"<span data-reactid=\".0.1.0.0:0.1.3.1.0.2\"> followers</span>");
答案 0 :(得分:0)
你做不到。
您正在寻找的元素在页面加载后由javascript呈现。
curl
不等待脚本运行(也不运行任何脚本)。它只返回html。
您可以通过打印$data
轻松验证这一点。或者通过查看页面的来源。
要“查看”您要查找的元素,您需要使用DOM检查器。