otterspy/instagram-php-scraper

Instagram PHP爬虫。无需任何授权即可获取账户信息、照片和视频


README

这个库基于Instagram网页版。我们开发它是因为现在很难获得一个经过批准的Instagram应用程序。目的是支持网页桌面版和移动版上的所有功能。

依赖关系

代码示例

use Phpfastcache\Helper\Psr16Adapter;

$instagram = \InstagramScraper\Instagram::withCredentials(new \GuzzleHttp\Client(), 'username', 'password', new Psr16Adapter('Files'));
$instagram->login();
$account = $instagram->getAccountById(3);
echo $account->getUsername();

某些方法不需要身份验证

$instagram = new \InstagramScraper\Instagram(new \GuzzleHttp\Client());
$nonPrivateAccountMedias = $instagram->getMedias('kevin');
echo $nonPrivateAccountMedias[0]->getLink();

如果您使用身份验证,建议缓存用户会话。在这种情况下,您不需要每次程序运行时都运行$instagram->login()方法

use Phpfastcache\Helper\Psr16Adapter;

$instagram = \InstagramScraper\Instagram::withCredentials(new \GuzzleHttp\Client(), 'username', 'password', new Psr16Adapter('Files'));
$instagram->login(); // will use cached session if you want to force login $instagram->login(true)
$instagram->saveSession();  //DO NOT forget this in order to save the session, otherwise have no sense
$account = $instagram->getAccountById(3);
echo $account->getUsername();

使用代理请求

// https://docs.guzzlephp.org/en/stable/request-options.html#proxy
$instagram = new \InstagramScraper\Instagram(new \GuzzleHttp\Client(['proxy' => 'tcp://:8125']));
// Request with proxy
$account = $instagram->getAccount('kevin');
\InstagramScraper\Instagram::setHttpClient(new \GuzzleHttp\Client());
// Request without proxy
$account = $instagram->getAccount('kevin');

安装

使用composer

composer.phar require otterspy/instagram-php-scraper phpfastcache/phpfastcache

或者

composer require otterspy/instagram-php-scraper phpfastcache/phpfastcache

如果您没有composer

您可以在此处下载

示例

请参阅示例此处

其他

Java库:https://github.com/postaddictme/instagram-java-scraper