mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-02-19 08:39:55 +03:00
Add GoAccessBridge (#3422)
This commit is contained in:
parent
6fa1f349d9
commit
08be0ad7a5
1 changed files with 38 additions and 0 deletions
38
bridges/GoAccessBridge.php
Normal file
38
bridges/GoAccessBridge.php
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class GoAccessBridge extends BridgeAbstract
|
||||||
|
{
|
||||||
|
const MAINTAINER = 'Simounet';
|
||||||
|
const NAME = 'GoAccess';
|
||||||
|
const URI_BASE = 'https://goaccess.io';
|
||||||
|
const URI = self::URI_BASE . '/release-notes';
|
||||||
|
const CACHE_TIMEOUT = 21600; //6h
|
||||||
|
const DESCRIPTION = 'GoAccess releases.';
|
||||||
|
|
||||||
|
public function collectData()
|
||||||
|
{
|
||||||
|
$html = getSimpleHTMLDOM(self::URI);
|
||||||
|
|
||||||
|
$container = $html->find('.container.content', 0);
|
||||||
|
foreach ($container->find('div') as $element) {
|
||||||
|
$titleEl = $element->find('h2', 0);
|
||||||
|
$dateEl = $titleEl->find('small', 0);
|
||||||
|
$date = trim($dateEl->plaintext);
|
||||||
|
$title = is_object($titleEl) ? str_replace($date, '', $titleEl->plaintext) : '';
|
||||||
|
$linkEl = $titleEl->find('a', 0);
|
||||||
|
$link = is_object($linkEl) ? $linkEl->href : '';
|
||||||
|
$postUrl = self::URI . $link;
|
||||||
|
|
||||||
|
$contentEl = $element->find('.dl-horizontal', 0);
|
||||||
|
$content = '<dl>' . $contentEl->xmltext() . '</dl>';
|
||||||
|
|
||||||
|
$item = [];
|
||||||
|
$item['uri'] = $postUrl;
|
||||||
|
$item['timestamp'] = strtotime($date);
|
||||||
|
$item['title'] = $title;
|
||||||
|
$item['content'] = $content;
|
||||||
|
|
||||||
|
$this->items[] = $item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue