restyler / instagram-php-scraper
此包已被废弃,不再维护。没有建议的替代包。
Profixied Instagram PHP Scraper。无需授权即可获取账户信息、照片和视频,通过智能代理均衡器。
v2.0.1
2021-11-26 06:55 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
- dev-proxified
- v2.0.1
- v1.0.3
- v1.0.2
- v1.0.1
- v0.9.14
- v0.9.13
- v0.9.12
- v0.9.11
- v0.9.10
- v0.9.9
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.35
- v0.8.34
- v0.8.33
- v0.8.32
- v0.8.31
- v0.8.30
- v0.8.29
- v0.8.28
- v0.8.27
- v0.8.26
- v0.8.25
- v0.8.24
- v0.8.23
- v0.8.22
- v0.8.21
- v0.8.20
- v0.8.19
- v0.8.18
- v0.8.17
- v0.8.16
- v0.8.15
- v0.8.14
- v0.8.13
- v0.8.12
- v0.8.11
- v0.8.10
- v0.8.9
- v0.8.8
- v0.8.7
- v0.8.6
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.1
- v0.6.0
- v0.5.9
- v0.5.8
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.5
- v0.3.4
- 0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-postaddictme-master
- dev-master
- dev-instaproxy
- dev-dev-proxy
This package is auto-updated.
Last update: 2022-04-29 12:00:19 UTC
README
浏览器中查看时Instagram图片损坏?(2021年4月)
查看 https://github.com/postaddictme/instagram-php-scraper/issues/903#issuecomment-827537360
由于绕过Instagram防火墙困难,此仓库包含RapidApi代理版本的Instagram爬虫 https://github.com/postaddictme/instagram-php-scraper。
为什么不直接使用住宅代理呢?
即使是好的住宅代理也会被Instagram频繁封禁。此爬虫一般比仅使用住宅或移动代理加原爬虫效果更好,因为它使用大量高质量的代理,并且自动处理重试和响应质量控制。
RapidAPI订阅页面
https://rapidapi.com/restyler/api/instagram40
这是一个分支。如果您需要原版非Profixied版本的爬虫,请使用原包!https://github.com/postaddictme/instagram-php-scraper
RapidAPI代理处理均衡和智能绕过Instagram防火墙。目前仅代理了API的公共方法(不需要认证,例如分析公共账户及其帖子评论),因为Instagram可能会跟踪登录IP地址,并在代理均衡器切换IP地址时将您的账户标记为可疑。所以请谨慎使用withCredentials()。请参阅examples/getAccountByUsername.php和examples/getAccountMediasByUsername.php作为安全使用代理版本的示例。
代理方法
- getAccount()
- getAccountById()
- getMedias()
- getMediasByTag()
- getMediaByUrl()
- getMediaByCode()
- getCurrentTopMediasByLocationId()
- getCurrentTopMediasByTagName()
- getLocationById()
依赖项
代码示例
通过Instagram用户ID获取账户信息
require_once 'vendor/autoload.php'; $instagram = new \InstagramScraper\Instagram(new \GuzzleHttp\Client()); $instagram->setRapidApiKey('YOUR-RAPID-API-KEY'); $account = $instagram->getAccountById(3); echo $account->getUsername();
通过Instagram用户名获取账户媒体
$instagram = new \InstagramScraper\Instagram(new \GuzzleHttp\Client()); $instagram->setRapidApiKey('YOUR-RAPID-API-KEY'); $nonPrivateAccountMedias = $instagram->getMedias('kevin'); echo $nonPrivateAccountMedias[0]->getLink();
注意:不要使用此代理版本进行通过withCredentials()方法进行的认证调用,请使用原始爬虫!
这不会工作,并在代理爬虫中抛出异常
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();
安装
使用Composer
composer require guzzlehttp/guzzle restyler/instagram-php-scraper
如果您没有Composer
您可以从这里下载:这里。
示例
请参阅示例:这里。