mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-26 19:36:52 +03:00
[TheFarSideBridge] Add bridge (#1484)
This commit is contained in:
parent
579bfa669c
commit
5966cc0a9c
1 changed files with 51 additions and 0 deletions
51
bridges/TheFarSideBridge.php
Normal file
51
bridges/TheFarSideBridge.php
Normal file
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
class TheFarSideBridge extends BridgeAbstract {
|
||||
const NAME = 'The Far Side Bridge';
|
||||
const URI = 'https://www.thefarside.com';
|
||||
const DESCRIPTION = 'Returns the daily dose';
|
||||
const MAINTAINER = 'VerifiedJoseph';
|
||||
const PARAMETERS = array();
|
||||
|
||||
const CACHE_TIMEOUT = 3600; // 1 hour
|
||||
|
||||
public function collectData() {
|
||||
$html = getSimpleHTMLDOM(self::URI)
|
||||
or returnServerError('Could not request: ' . self::URI);
|
||||
|
||||
$div = $html->find('div.tfs-page-container__cows', 0);
|
||||
|
||||
$item = array();
|
||||
$item['uri'] = $html->find('meta[property="og:url"]', 0)->content;
|
||||
$item['title'] = $div->find('h3', 0)->innertext;
|
||||
$item['timestamp'] = $div->find('h3', 0)->innertext;
|
||||
$item['content'] = '';
|
||||
|
||||
foreach($div->find('div.card-body') as $index => $card) {
|
||||
$image = $card->find('img', 0);
|
||||
$imageUrl = $image->attr['data-src'];
|
||||
|
||||
// Images are downloaded to bypass the hotlink protection.
|
||||
$image = getContents($imageUrl, array('Referer: ' . self::URI))
|
||||
or returnServerError('Could not request: ' . $imageUrl);
|
||||
|
||||
// Encode image as base64
|
||||
$imageBase64 = base64_encode($image);
|
||||
|
||||
$caption = '';
|
||||
|
||||
if ($card->find('figcaption', 0)) {
|
||||
$caption = $card->find('figcaption', 0)->innertext;
|
||||
}
|
||||
|
||||
$item['content'] .= <<<EOD
|
||||
<figure>
|
||||
<img title="{$caption}" src="data:image/jpeg;base64,{$imageBase64}"/>
|
||||
<figcaption>{$caption}</figcaption>
|
||||
</figure>
|
||||
<br/>
|
||||
EOD;
|
||||
}
|
||||
|
||||
$this->items[] = $item;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue