tomaj / meta-scraper
页面元信息抓取库
4.3.0
2020-11-23 09:05 UTC
Requires
- php: >= 7.1.0
- guzzlehttp/guzzle: ^6.0 | ^7.0
Requires (Dev)
- codeclimate/php-test-reporter: 0.4.4
- phpunit/phpunit: ^8 || ^9
- squizlabs/php_codesniffer: ^3.5
Suggests
- ext-dom: Required for Tomaj\Scraper\Parser\OgDomParser
- ext-libxml: Required for Tomaj\Scraper\Parser\OgDomParser
README
页面元信息抓取库从页面解析元信息。
安装
通过composer
composer require tomaj/meta-scraper
如何使用
示例
use Tomaj\Scraper\Scraper; use Tomaj\Scraper\Parser\OgParser; $scraper = new Scraper(); $parsers = [new OgParser()]; $meta = $scraper->parse(file_get_contents('http://www.google.com/'), $parsers); var_dump($meta);
或者您可以使用parseUrl
方法(内部使用Guzzle库)
use Tomaj\Scraper\Scraper; use Tomaj\Scraper\Parser\OgParser; $scraper = new Scraper(); $parsers = [new OgParser()]; $meta = $scraper->parseUrl('http://www.google.com/', $parsers); var_dump($meta);
解析器
该包包含3个解析器,您还可以创建新的实现Tomaj\Scraper\Parser\ParserInterface
接口的解析器。
3个解析器
Tomaj\Scraper\Parser\OgParser
- 基于html中的og(Open Graph)元属性(基于正则表达式构建)Tomaj\Scraper\Parser\OgDomParser
- 也基于html中的og(Open Graph)元属性(基于php DOM扩展构建)Tomaj\Scraper\Parser\SchemaParser
- 基于schema json结构
您可以将这些解析器组合起来。在第一个解析器中找不到的数据将被第二个解析器中的数据替换。
use Tomaj\Scraper\Scraper; use Tomaj\Scraper\Parser\SchemaParser; use Tomaj\Scraper\Parser\OgParser; $scraper = new Scraper(); $parsers = [new SchemaParser(), new OgParser()]; $meta = $scraper->parseUrl('http://www.google.com/', $parsers); var_dump($meta);