【发布时间】:2013-03-01 10:47:25
【问题描述】:
我正在使用以下过程解析 RSS 提要:
-
解析器运行一次,获取所有 RSS 项并存储运行时间;
-
然后每次它再次运行时,它都会检查一个 RSS 项目是否有
pubDate比上次运行并存储在数据库中。
我的问题是,对于特定网站的提要,在最后一个提要之后添加了一些项目,但具有相同的 pubDate,因此我的解析器不会存储它们。
例如在晚上 9 点,它有一个带有 <pubDate>Fri, 01 Mar 2013 05:00:00 Z</pubDate> 的项目
后来在 12 点,它添加了另一个具有相同的 pubDate。
Feed 不提供guid。
有什么办法可以得到最新的货品吗?
这里是我现在使用的代码
function getLatest($lastTimeRun, $data, $pubDates)
{
$latestData = array();
for($i=0;$i<sizeof($data);$i++)
{
$pubDates[$i] = strtotime($pubDates[$i]);
//compare the last time the script run with each feed's item publish date
if($lastTimeRun < $pubDates[$i])
{
array_push($latestData, $data[$i]);
}
}
return $latestData;
}
【问题讨论】:
标签: php xml-parsing rss