pqrs / checkrss
检查 RSS 提要中的新项目
dev-master
2018-02-14 11:04 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-22 07:02:33 UTC
README
检查 RSS 提要中的新项目
CheckRSS 提供了一些方法来
- 获取 RSS 提要中的所有项目
- 检查自上次检查以来哪些项目是新的
- 每次运行检查新项目时都记录日志
建议使用 CheckRSS 与 cron 作业一起使用,以便您能定期获取新项目,尽管您也可以手动运行它。
安装
composer require pqrs/checkrss=dev-master
或者,直接将依赖项添加到您的 composer.json 文件中
"require": {
"pqrs/checkrss": "dev-master"
}
然后将它添加到您的 PHP 代码中
require_once __DIR__ . '/vendor/autoload.php'; // Autoload files using Composer autoload use CheckRSS\RSS;
用法
方法 getItems($feed_url)
此方法获取 RSS 提要中发布的所有项目,并返回一个包含它们的对象。
$rss = new RSS; $items = $rss->getItems("http://feeds.nbcnews.com/feeds/topstories");
返回的对象示例可能如下所示
SimpleXMLElement Object
(
[guid] => https://www.nbcnews.com/storyline/hurricane-irma/...
[title] => One-two punch of disease and Irma has left Florida citrus reeling
[pubDate] => Sat, 10 Feb 2018 15:17:00 GMT
[link] => https://www.nbcnews.com/storyline/hurricane-irma/...
[description] => Hurricane Irma served as a knockout punch for many of Florida's...
)
方法 getNewItems($items)
此方法检查在获取项目(使用 getItems 获取)中哪些项目自上次检查以来是新的。
返回一个仅包含新项目的对象。
$rss = new RSS; // Gets all the items published in the rss feed and stores them in $items $items = $rss->getItems("http://feeds.nbcnews.com/feeds/topstories"); // Checks which items are new since last check if ($newitems = $rss->getNewItems($items) ) { // Prints new items echo "New items found:" . PHP_EOL . PHP_EOL; foreach ($newitems as $value) { echo $value->title . PHP_EOL; echo $value->description . PHP_EOL; echo $value->guid . PHP_EOL; echo $value->link . PHP_EOL. PHP_EOL; } } else { echo "There'are no new items in RSS feed"; }
方法 storeLastItemID($item_id)
内部使用。此方法将最后读取的项目 ID 写入文件,以便在将来的检查中比较。
方法 isNewItem($item_id)
内部使用。此方法将最后读取的项目 ID 与上次检查中存储的最后读取的项目 ID 进行比较。
方法 WriteLog($logline)
这是一个简单的方法,每次检查时都写入日志文件。
示例
您可以在 tests 文件夹 中找到这些函数的一些用法。
先决条件
PHP 5.3.0
贡献
当然欢迎贡献!
致谢
版权 © 2018 Alvaro Piqueras - pqrs
这是我之前写的一段脏代码的清理。这也是我在 GitHub、Composer 和 Packagist 上的第一次尝试,所以如果您发现一些错误或有一些建议给我,我会非常乐意听到。
希望这段代码能满足您的需求。
许可
该项目使用 MIT 许可证 - 详细信息请参阅 LICENSE 文件。