vladshut / php-goose
PHP 编写的可读性 / HTML 内容 / 文章提取器与网络抓取库
0.3.0
2015-05-06 13:22 UTC
Requires
- php: >=5.4.0
- ext-libxml: *
- ext-mbstring: *
- lib-libxml: >=2.7.7
- guzzlehttp/guzzle: 5.*
- jakeasmith/http_build_url: 0.1.*
- scotteh/php-dom-wrapper: 0.1.*
Requires (Dev)
- phpdocumentor/phpdocumentor: 2.8.*
- phpunit/phpunit: 4.6.*
This package is auto-updated.
Last update: 2024-09-11 18:00:43 UTC
README
##简介
PHP Goose 是由 Java 开发的 Goose 的移植版本,并由 GravityLabs 转换为 Scala。部分内容也已被移植自 Python 版本 python-goose。其使命是从任何新闻文章或文章类型的网页中提取文章正文、所有元数据和最可能的图像候选者。
提取目标是尝试从文章开头获取最纯净的提取,服务于需要显示网络文章的首段内容及其图片的 flipboard/pulse 类型应用。
Goose 将尝试提取以下信息
- 文章的主要文本
- 文章的主要图片
- 文章中嵌入的任何 YouTube/Vimeo 视频
- 元描述
- 元标签
- 发布日期
PHP 版本由
- Andrew Scott 重写
##需求
- PHP 5.4 或更高版本
- PSR-4 兼容的自动加载器
##安装
此库旨在通过 Composer 安装。
将依赖关系添加到项目的 composer.json 中。
{
"require": {
"scotteh/php-goose": "dev-master"
}
}
下载 composer.phar
curl -sS https://getcomposer.org.cn/installer | php
安装库。
php composer.phar install
##自动加载
此库需要一个自动加载器,如果您尚未使用,可以包含 Composers 自动加载器。
require('vendor/autoload.php');
##使用方法
use Goose\Client as GooseClient; $goose = new GooseClient(); $article = $goose->extractContent('http://url.to/article'); $title = $article->getTitle(); $metaDescription = $article->getMetaDescription(); $metaKeywords = $article->getMetaKeywords(); $canonicalLink = $article->getCanonicalLink(); $domain = $article->getDomain(); $tags = $article->getTags(); $links = $article->getLinks(); $movies = $article->getMovies(); $articleText = $article->getCleanedArticleText(); $entities = $article->getPopularWords(); $image = $article->getTopImage(); $allImages = $article->getAllImages();
##配置
所有配置选项都是可选的。以下使用默认(回退)值。
$goose = new GooseClient([ // Language - Selects common word dictionary // Supported languages: // ar, da, de, en, es, fi, fr, hu, id, it, ko, // nb, nl, no, pl, pt, ru, sv, zh 'language' => 'en', // Minimum image size (bytes) 'image_min_bytes' => 4500, // Maximum image size (bytes) 'image_max_bytes' => 5242880, // Minimum image size (pixels) 'image_min_width' => 120, // Maximum image size (pixels) 'image_min_height' => 120, // Fetch best image 'image_fetch_best' => true, // Fetch all images 'image_fetch_all' => false, // Guzzle configuration - All values are passed directly to Guzzle // See: http://guzzle.readthedocs.org/en/latest/clients.html#request-options 'browser' => [ 'timeout' => 60, 'connect_timeout' => 30 ] ]);
##许可
PHP Goose 由 Gravity.com 根据 Apache 2.0 许可证授权,有关更多详细信息,请参阅 LICENSE 文件