mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-25 02:46:15 +03:00
Add NOS Nieuws & Sport Bridge (#3069)
* Add NOS Nieuws & Sport Bridge * Change classname to reflect filename (NOSBridge)
This commit is contained in:
parent
8b7b32d516
commit
c4c2acab98
1 changed files with 56 additions and 0 deletions
56
bridges/NOSBridge.php
Normal file
56
bridges/NOSBridge.php
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
class NOSBridge extends BridgeAbstract
|
||||
{
|
||||
const NAME = 'NOS Nieuws & Sport Bridge';
|
||||
const URI = 'https://www.nos.nl';
|
||||
const DESCRIPTION = 'NOS Nieuws & Sport';
|
||||
const MAINTAINER = 'wouterkoch';
|
||||
|
||||
const PARAMETERS = [
|
||||
[
|
||||
'topic' => [
|
||||
'type' => 'list',
|
||||
'name' => 'Onderwerp',
|
||||
'title' => 'Kies onderwerp',
|
||||
'values' => [
|
||||
'Laatste nieuws' => 'nieuws',
|
||||
'Binnenland' => 'nieuws/binnenland',
|
||||
'Buitenland' => 'nieuws/buitenland',
|
||||
'Regionaal nieuws' => 'nieuws/regio',
|
||||
'Politiek' => 'nieuws/politiek',
|
||||
'Economie' => 'nieuws/economie',
|
||||
'Koningshuis' => 'nieuws/koningshuis',
|
||||
'Tech' => 'nieuws/tech',
|
||||
'Cultuur en media' => 'nieuws/cultuur-en-media',
|
||||
'Opmerkelijk' => 'nieuws/opmerkelijk',
|
||||
'Voetbal' => 'sport/voetbal',
|
||||
'Formule 1' => 'sport/formule-1',
|
||||
'Wielrennen' => 'sport/wielrennen',
|
||||
'Schaatsen' => 'sport/schaatsen',
|
||||
'Tennis' => 'sport/tennis',
|
||||
],
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
public function collectData()
|
||||
{
|
||||
$url = sprintf('https://www.nos.nl/%s', $this->getInput('topic'));
|
||||
$dom = getSimpleHTMLDOM($url);
|
||||
$dom = $dom->find('ul.list-items', 0);
|
||||
if (!$dom) {
|
||||
throw new \Exception(sprintf('Unable to find css selector on `%s`', $url));
|
||||
}
|
||||
$dom = defaultLinkTo($dom, $this->getURI());
|
||||
foreach ($dom->find('li.list-items__item') as $article) {
|
||||
$a = $article->find('a', 0);
|
||||
$this->items[] = [
|
||||
'title' => $article->find('h3.list-items__title', 0)->plaintext,
|
||||
'uri' => $article->find('a.list-items__link', 0)->href,
|
||||
'content' => $article->find('p.list-items__description', 0)->plaintext,
|
||||
'timestamp' => strtotime($article->find('time', 0)->datetime),
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue