afif / instagram-mahmoud-scraper
这是为 touta bakaboza
3.0
2021-04-22 16:11 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- guzzlehttp/psr7: ^1.7
- psr/http-client: ~1.0
- psr/simple-cache: ~1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.2
- phpfastcache/phpfastcache: ^7.1
- phpunit/phpunit: ^7.0
README
这个库基于Instagram网页版。我们开发它是因为现在很难获得批准的Instagram应用程序。目的是支持网页桌面和移动版本的所有功能。
依赖关系
代码示例
$instagram = \InstagramScraper\Instagram::withCredentials(new \GuzzleHttp\Client(), 'username', 'password'); $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 raiym/instagram-php-scraper
或
composer require raiym/instagram-php-scraper
如果您没有 composer
您可以从这里下载:这里。
示例
查看示例 这里。
其他
Java 库: https://github.com/postaddictme/instagram-java-scraper