40 lines
1.5 KiB
PHP
40 lines
1.5 KiB
PHP
|
<?php
|
||
|
class KemonoFriendsMusicNewsBridge extends BridgeAbstract {
|
||
|
const MAINTAINER = 'Akamaru';
|
||
|
const NAME = 'Kemono Friends Music News';
|
||
|
const URI = 'https://www.jvcmusic.co.jp/kemono-friends/';
|
||
|
const CACHE_TIMEOUT = 1; // 21600 = 6h
|
||
|
const DESCRIPTION = 'Get the latest news for Kemono Friends Music.';
|
||
|
|
||
|
public function collectData() {
|
||
|
// Retrieve webpage
|
||
|
$pageUrl = self::URI;
|
||
|
$html = getSimpleHTMLDOM($pageUrl)
|
||
|
or returnServerError('Could not request webpage: ' . $pageUrl);
|
||
|
|
||
|
// Process articles
|
||
|
foreach($html->find('ul.l_newslink li') as $element) {
|
||
|
|
||
|
if(count($this->items) >= 10) {
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
$article_title = trim(strip_tags($element->find('p.newslink_txt', 0)->innertext));
|
||
|
$article_uri = self::URI . substr($element->find('a', 0)->href, 0);
|
||
|
|
||
|
// strtotime() doesn't seem to like the missing zeroes in the month
|
||
|
$article_time = trim(strip_tags($element->find('div.newslink_date', 0)->innertext));
|
||
|
$article_timestamp = date_format(date_create_from_format("Y.m.d", $article_time), "d.m.Y");
|
||
|
|
||
|
// Store article in items array
|
||
|
if (!empty($article_title)) {
|
||
|
$item = array();
|
||
|
$item['uri'] = $article_uri;
|
||
|
$item['title'] = $article_title;
|
||
|
$item['timestamp'] = $article_timestamp;
|
||
|
$this->items[] = $item;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|