tomaj/meta-scraper

页面元信息抓取库

4.3.0 2020-11-23 09:05 UTC

This package is auto-updated.

Last update: 2024-09-23 17:08:46 UTC


README

Build Status Code Climate Test Coverage

SensioLabsInsight

页面元信息抓取库从页面解析元信息。

安装

通过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);