从Instagram搜索数据

时间:2016-06-23 13:59:23

标签: javascript php instagram instagram-api yql

我实际上只需要一个公共帐户的粉丝数, 例如https://www.instagram.com/kygomusic/

新Instagram的API规则非常严格(并已讨论过): 现在无法访问大多数常见应用的公开内容。您需要一个未授予普通应用(?!)

的public_content范围
  

public_content:此权限(public_content)仅授予   支持品牌,广告客户,广播公司和发布商的应用   发现公共内容。我们不授予对不支持的应用的访问权限   属于这些类别。请查看我们的文档   (https://www.instagram.com/developer/review)了解更多信息。

所以我决定从Instagram上抓取数据

一个选项是使用 file_get_contents()(PHP)并且它可以工作,但它从我的服务器加载所有站点,而且非常繁重。所以我的第一个想法是使用 YQL 。我将它用于推特并且效果很好,但是当我从Instagram抓取数据时,我得到没有

http://developer.yahoo.com/yql/console/?q=select%20*%20from%20html%20where%20url%3D'https%3A%2F%2Fwww.instagram.com%2Fkygomusic%2F'&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys

2 个答案:

答案 0 :(得分:4)

我看了一下你提交的页面,考虑到你不会加载图像或处理js,它并不那么重。在检查时我发现他们有一个json存储他们的数据。

....“follow_by”:{“count”:924725}

我没有时间对此进行测试,但它应该可以工作,或者至少你得到了使用它的意义。 CURL可能是更好的选择,因为它可以处理多线程请求。

$url = 'https://www.instagram.com/kygomusic/';
$str = file_get_contents($url);
$count = 0;
if(preg_match('#followed_by": {"count": (.*?)}#', $str, $match)) {
     $count = $match[1]; // get the count from Regex pattern
} echo $count;

答案 1 :(得分:0)

检查此库:https://github.com/raiym/instagram-php-scraper您可以获得关注者的数量并关注并获得几乎所有在Instagram上共享的公开信息,而无需使用身份验证。

它基于我和社区发现的JSON响应,而且非常轻量级