我正在尝试构建一个新闻中心应用程序,我的目标是从其他新闻频道中提取新闻文章,对其进行总结,并以不偏不倚的方式以项目符号的形式呈现。我已经启动并运行了算法,我所需要的只是从 NDTV、CNN 等其他网站收集数据的代码。请给我一个关于如何执行此操作的描述。
代码、链接、示例和屏幕截图会有很大帮助。谢谢!(Y)
我正在尝试构建一个新闻中心应用程序,我的目标是从其他新闻频道中提取新闻文章,对其进行总结,并以不偏不倚的方式以项目符号的形式呈现。我已经启动并运行了算法,我所需要的只是从 NDTV、CNN 等其他网站收集数据的代码。请给我一个关于如何执行此操作的描述。
代码、链接、示例和屏幕截图会有很大帮助。谢谢!(Y)
网络抓取是适合您的方式;您可以使用scrapy、beautifulsoup或selenium获取您的新闻文章或您需要的所有内容,它们是用于从 html 页面(文本)获取数据的 python 模块,之后您可以将数据保存到您想要的任何地方,例如数据库;最好使用 RSS 页面作为标题和您考虑获得的这些内容。
有一个名为QueryList
(http://git.oschina.net/jae/QueryList)的 php 库,它在phpQuery
内部使用,并使用一些 css 选择器过滤器数组来获取特定 url 中的特定内容。
文档是中文的(我认为没有英文版),但使用起来很简单:
<?php
// include the lib
require_once('QueryList.class.php');
// url to fetch content
$url = 'http://www.example.com/index.html';
// filter rules using css selector grammar
$regArr = array(
'time' => array('td:nth-child(2)', 'text'),
'summary' => array('td:nth-child(3) td:nth-child(3)', 'text'),
'imgSrc' => array('h1 > a > img', 'src')
);
// optional, firstly find `.divbox > table`, then find the things defined by $regArr in each `.divbox > table`
$regRange = '.divbox > table';
// do the query
$result = QueryList::Query($url, $regArr, $regRange);
// the result will be an array like:
/** Array
* (
* [0] => Array
* (
* 'time' => ,
* 'summary' => ,
* 'imgSrc' =>
* )
* [1] => Array
* (
* 'time' => ,
* 'summary' => ,
* 'imgSrc' =>
* )
* ...
* )
*/
echo '<pre>';
print_r($result->jsonArr);
echo '</pre>';
您还可以在 $regArr 中定义排除模式和回调函数,我认为这将满足您的要求。