paulhennell / twitter-account-info
一个用于获取Twitter账号基本信息的软件包,例如关注者数量,无需通过Twitter API登录。
Requires
- php: ^8.1
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.14
- php-http/message-factory: ^1.0
- voku/simple_html_dom: ^4.8
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- guzzlehttp/psr7: ^2.4
- php-http/guzzle7-adapter: ^1.0
- php-http/mock-client: ^1.5
- phpunit/phpunit: ^9.5
- spatie/ray: ^1.28
This package is auto-updated.
Last update: 2024-05-14 11:40:19 UTC
README
这是一个基本的软件包,可以获取Twitter的关注者数量和其他基本账号信息,而不需要官方Twitter API的复杂性。作为一个非官方项目,它不应被视为完全可靠,截至v1.0版本,它依赖于Nitter实例,所以如果它们都出现问题,这个软件包也会受到影响。
弃用
随着Twitter对API和抓取系统的打击,nitter的解决方案如此不可靠,这个软件包已经无法使用。
安装
您可以通过composer安装此软件包
composer require paulhennell/twitter-account-info
如果您项目中没有Http Client库,可能需要安装。更多信息请参阅此处。
为了快速修复,您可以先安装guzzle,如下所示
composer require guzzlehttp/psr7
用法
您可以通过传入Twitter用户名来使用此系统
$accountInfo = (new Paulhennell\TwitterAccountInfo())->getFromUsername("hennell_dev"); echo $accountInfo->followers_count; echo $accountInfo->tweet_count; //etc
如果您的HTTP客户端没有自动检测到,您可以将其传递给构造函数
$accountInfo = (new Paulhennell\TwitterAccountInfo($httpClient))->getFromUsername("hennell_dev");
Nitter
截至V1.0版本,此软件包依赖于抓取替代Twitter前端Nitter。
Nitter有多个实例,默认情况下,此软件包将随机使用四个实例之一(见:RandomNitterUrl类)。
要指定特定的实例,您可以与用户名一起传递一个URL字符串
$accountInfo = (new Paulhennell\TwitterAccountInfo())->getFromUsername("hennell_dev", "https://nitter.net");
对于更高级的使用(例如随机选择或运行在线检查以选择当前正在运行的Nitter网站),您可以传递任何实现NitterUrlInterface
的类 - 该类只需从静态方法getUrl
返回一个URL字符串。
您可以在此处找到有用的Nitter实例列表
测试
composer test
对于客户端软件包,请确保避免运行会执行网络请求的测试。使用Mockery来模拟Twitter AccountInfo类并返回一个手动创建的AccountInfo对象。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
致谢
许可协议
MIT许可协议(MIT)。更多信息请参阅许可文件。