Esempio n. 1
0
function download_content_url($url)
{
    $content = '';
    $grabber = new Scraper(Config\get_reader_config());
    $grabber->setUrl($url);
    $grabber->execute();
    if ($grabber->hasRelevantContent()) {
        $content = $grabber->getFilteredContent();
    }
    return $content;
}
Esempio n. 2
0
function refresh($feed_id)
{
    try {
        $feed = get($feed_id);
        if (empty($feed)) {
            return false;
        }
        $reader = new Reader(Config\get_reader_config());
        $resource = $reader->download($feed['feed_url'], $feed['last_modified'], $feed['etag']);
        // Update the `last_checked` column each time, HTTP cache or not
        update_last_checked($feed_id);
        // Feed modified
        if ($resource->isModified()) {
            $parser = $reader->getParser($resource->getUrl(), $resource->getContent(), $resource->getEncoding());
            if ($feed['download_content']) {
                $parser->enableContentGrabber();
                // Don't fetch previous items, only new one
                $parser->setGrabberIgnoreUrls(Database::getInstance('db')->table('items')->eq('feed_id', $feed_id)->findAllByColumn('url'));
            }
            $feed = $parser->execute();
            update_cache($feed_id, $resource->getLastModified(), $resource->getEtag());
            Item\update_all($feed_id, $feed->getItems());
            fetch_favicon($feed_id, $feed->getSiteUrl(), $feed->getIcon());
        }
        update_parsing_error($feed_id, 0);
        Config\write_debug();
        return true;
    } catch (PicoFeedException $e) {
    }
    update_parsing_error($feed_id, 1);
    Config\write_debug();
    return false;
}
Esempio n. 3
0
function download_content_url($url)
{
    $content = '';
    $grabber = new Grabber($url);
    $grabber->setConfig(Config\get_reader_config());
    $grabber->download();
    if ($grabber->parse()) {
        $content = $grabber->getFilteredcontent();
    }
    return $content;
}