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; }
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; }
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; }