搜索Thorough链接并用Regex、PHP或Javascript识别RSS源
Search thorugh links and identify RSS source with Regex, PHP or Javascript
我正在构建一个关注叙利亚冲突的新闻/博客聚合器,我希望能够确定来源。这是一个简单的网站,聚合器是一个从我的雅虎管道中提取RSS的外部javascript。我的问题是,我找不到一种方法来识别来源(即CNN、BBC等)
所以我想,如果我扫描文档并识别href源,我就能做点什么。
假设我们有<a href="http://foxnews.com/blahblahblah.php">
,我想做一个IF href == http://foxnews.com { logo(fox); }
——或者类似的事情。
我不确定我是否"思考正确",但我真的很想解决这个问题。有什么建议吗?或者我的RSS管道中有没有遗漏作者信息?
http://pipes.yahoo.com/pipes/pipe.run?_id=e9fdf79f13be013e7c3a2e4a7d0f2900&_render=rss
RSS提要只是XML,所以您要做的第一件事就是为您想要使用的语言找到一个XML解析器。
PHP内置了SimpleXML,使用起来既快捷又方便。
你会用它来拉出所有这样的链接。
foreach ($xml->channel->item as $key => $item) {
$link = $item->link
}
这很容易理解,我们的根XML元素是<channel>
,然后在里面我们有所有的新闻<item>
标签。因此,我们循环遍历这些元素,并取出每个子元素<link>
。
当我走到这一步时,我意识到我不需要花太多时间就可以为你完成整件事了。我通过用空字符串替换http://,将链接剥离到仅域。然后使用/作为分隔符分解字符串。这样做会将字符串拆分为从斜杠之间提取的块。因此,第一块是我们的领域。
<?php
$url = 'http://pipes.yahoo.com/pipes/pipe.run?_id=e9fdf79f13be013e7c3a2e4a7d0f2900&_render=rss';
$xml = simplexml_load_file($url);
foreach ($xml->channel->item as $key => $item) {
$link = $item->link;
$link = str_replace("http://", "", $link);
$parts = explode('/', $link);
$domain = $parts[0];
print($domain . "<br/>");
}
?>
这个代码给我一个输出:
www.ft.com
www.dailystar.com.lb
www.ft.com
www.ft.com
www.ft.com
www.ft.com
www.dailystar.com.lb
www.bbc.co.uk
....
然后是PHP切换语句的例子,以获得每个链接所需的结果。像这样:
switch($domain) {
case "www.bbc.co.uk":
// Do BBC stuff
break;
case "www.dailystar.com.lb":
// Do daily star stuff
break;
default:
// Do something for domains that aren't covered above
break;
}
祝你好运!
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- JavaScript无法识别图像
- 在Fiddler JavaScript中识别POST请求
- javascript正则表达式来识别所有特殊字符
- 使用jQuery+Javascript识别一个空文本节点
- 当点击wordpress链接时,我如何让JavaScript识别
- 如何使用 javascript 识别无需登录的客户
- 语音到文本JavaScript识别医学词典
- 搜索Thorough链接并用Regex、PHP或Javascript识别RSS源
- 如何使用vanilla Javascript识别无序和/或嵌套列表序列中的上一个/下一个链接
- 如何用javascript识别子窗口是否已关闭
- Javascript /识别从缓存加载
- 使用xpath和cssSelector (Javascript)识别元素
- 如何让JavaScript识别退格
- Javascript识别浏览器平台是桌面还是移动平台(可能是/不是来自设备宽度-高度)
- Javascript识别启用下拉选择类型
- 类型的Javascript识别
- 如何用javascript识别哪个按钮发出了请求
- 如何让JavaScript识别对象是否在数组中?
- 使用javascript识别flash中的视频区域