mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-30 18:13:22 +03:00
51 lines
1.4 KiB
PHP
51 lines
1.4 KiB
PHP
|
<?php
|
||
|
class WallmineNewsBridge extends BridgeAbstract {
|
||
|
const NAME = 'Wallmine News Bridge';
|
||
|
const URI = 'https://wallmine.com';
|
||
|
const DESCRIPTION = 'Returns financial news';
|
||
|
const MAINTAINER = 'VerifiedJoseph';
|
||
|
const PARAMETERS = array();
|
||
|
|
||
|
const CACHE_TIMEOUT = 900; // 15 mins
|
||
|
|
||
|
public function collectData() {
|
||
|
$html = getSimpleHTMLDOM($this->getURI() . '/news/')
|
||
|
or returnServerError('Could not request: ' . $this->getURI() . '/news/');
|
||
|
|
||
|
$html = defaultLinkTo($html, self::URI);
|
||
|
|
||
|
foreach($html->find('div.container.news-card') as $div) {
|
||
|
$item = array();
|
||
|
$item['uri'] = $div->find('a', 0)->href;
|
||
|
|
||
|
$image = $div->find('img.img-fluid', 0)->src;
|
||
|
|
||
|
$page = getSimpleHTMLDOMCached($item['uri'], 7200)
|
||
|
or returnServerError('Could not request: ' . $item['uri']);
|
||
|
|
||
|
$article = $page->find('div.container.article-container', 0);
|
||
|
|
||
|
$item['title'] = $article->find('h1', 0)->plaintext;
|
||
|
|
||
|
$article->find('p.published-on', 0)->children(0)->outertext = '';
|
||
|
$article->find('p.published-on', 0)->children(1)->outertext = '';
|
||
|
$date = str_replace('at', '', $article->find('p.published-on', 0)->innertext);
|
||
|
|
||
|
$item['timestamp'] = $date;
|
||
|
|
||
|
$article->find('h1', 0)->outertext = '';
|
||
|
$article->find('p.published-on', 0)->outertext = '';
|
||
|
|
||
|
$item['content'] = $article->innertext;
|
||
|
$item['enclosures'][] = $image;
|
||
|
|
||
|
$this->items[] = $item;
|
||
|
|
||
|
if (count($this->items) >= 10) {
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|