如何从应用程序的其他网站收集数据?

时间:2013-11-03 11:10:51

标签: html web-applications extraction summarization data-presentation

我正在尝试建立一个新闻中心应用程序,我的目标是从其他新闻频道中提取新闻文章,对其进行总结,并以无偏见的方式以子弹的形式呈现。 我已经启动并运行了算法,我只需要从NDTV,CNN等其他网站收集数据的代码。 请给出一个如何进行此操作的说明。

代码,链接,示例和屏幕截图会有很大帮助。 谢谢! (Y)

2 个答案:

答案 0 :(得分:1)

webscraping是你的方式; 您可以使用scrapybeautifulsoupselenium获取您需要的新闻报道或所有内容,它们是python的模块,用于从html页面获取数据(文本)和之后,您可以将数据保存到任何您想要的地方,例如数据库; 最好将rss页面用作头条新闻和你认为可以获得的东西。

答案 1 :(得分:0)

有一个名为QueryListhttp://git.oschina.net/jae/QueryList)的php lib,它在内部使用phpQuery,并使用一些css选择器过滤器数组来获取特定网址中的特定内容。

该文档是中文的(我不认为有英文版本),但使用起来非常简单:

<?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中定义排除模式和回调函数,我认为这将满足您的要求。