sleeping-owl / apist
提供基于HTML解析对外网站api样式的访问的包
1.3.7
2015-03-10 08:39 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: 5.*
- symfony/css-selector: ~2.0
- symfony/dom-crawler: ~2.0
- symfony/yaml: ~2.0
Requires (Dev)
- mockery/mockery: 0.*
- phpunit/phpunit: 4.*
README
SleepingOwl Apist 是一个小型库,它允许您以api样式访问任何网站,基于HTML解析。
概述
此包允许您编写类似以下的方法
class WikiApi extends Apist { public function getBaseUrl() { return 'http://en.wikipedia.org'; } public function index() { return $this->get('/wiki/Main_Page', [ 'welcome_message' => Apist::filter('#mp-topbanner div:first')->text()->mb_substr(0, -1), 'portals' => Apist::filter('a[title^="Portal:"]')->each([ 'link' => Apist::current()->attr('href')->call(function ($href) { return $this->getBaseUrl() . $href; }), 'label' => Apist::current()->text() ]), 'languages' => Apist::filter('#p-lang li a[title]')->each([ 'label' => Apist::current()->text(), 'lang' => Apist::current()->attr('title'), 'link' => Apist::current()->attr('href')->call(function ($href) { return 'http:' . $href; }) ]), 'sister_projects' => Apist::filter('#mp-sister b a')->each()->text(), 'featured_article' => Apist::filter('#mp-tfa')->html() ]); } }
并获得以下结果
{ "welcome_message": "Welcome to Wikipedia", "portals": [ { "link": "http:\/\/en.wikipedia.org\/wiki\/Portal:Arts", "label": "Arts" }, { "link": "http:\/\/en.wikipedia.org\/wiki\/Portal:Biography", "label": "Biography" }, ... ], "languages": [ { "label": "Simple English", "lang": "Simple English", "link": "http:\/\/simple.wikipedia.org\/wiki\/" }, { "label": "العربية", "lang": "Arabic", "link": "http:\/\/ar.wikipedia.org\/wiki\/" }, { "label": "Bahasa Indonesia", "lang": "Indonesian", "link": "http:\/\/id.wikipedia.org\/wiki\/" }, ... ], "sister_projects": [ "Commons", "MediaWiki", ... ], "featured_article": "<div style=\"float: left; margin: 0.5em 0.9em 0.4em 0em;\">...<\/div>" }
安装
在您的 composer.json 中添加此包,并运行 composer update(或直接运行 composer require sleeping-owl/apist:1.x
)
"sleeping-owl/apist": "1.*"
文档
文档可在 sleeping owl apist 找到。
示例
查看 示例。
支持库
您可以通过 PayPal、Yandex money (410012943296949) 或 BTC: 13k36pym383rEmsBSLyWfT3TxCQMN2Lekd 进行捐赠。
版权和许可
Apist 由 Sleeping Owl 编写,并按照 MIT 许可证发布。有关详细信息,请参阅 LICENSE 文件。