From 0b3082609d6b377b4897ed0d6fc9351e7e0baa0b Mon Sep 17 00:00:00 2001 From: t0stiman <18124323+t0stiman@users.noreply.github.com> Date: Sun, 13 Dec 2020 11:50:54 +0100 Subject: [PATCH] [RaceDepartmentBridge] added a bridge for racedepartment.com (#1681) --- bridges/RaceDepartmentBridge.php | 56 ++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 bridges/RaceDepartmentBridge.php diff --git a/bridges/RaceDepartmentBridge.php b/bridges/RaceDepartmentBridge.php new file mode 100644 index 00000000..b915dd59 --- /dev/null +++ b/bridges/RaceDepartmentBridge.php @@ -0,0 +1,56 @@ +collectExpandableDatas('https://www.racedepartment.com/news/archive.rss', 10); + } + + protected function parseItem($feedItem) { + $item = parent::parseItem($feedItem); + + //fetch page + $articlePage = getSimpleHTMLDOMCached($feedItem->link) + or returnServerError('Could not retrieve ' . $feedItem->link); + //extract article + $item['content'] = $articlePage->find('div.thfeature_firstPost', 0); + + //convert iframes to links. meant for embedded videos. + foreach($item['content']->find('iframe') as $found) { + + $iframeUrl = $found->getAttribute('src'); + + if ($iframeUrl) { + $found->outertext = '' . $iframeUrl . ''; + } + } + + //get rid of some elements we don't need + $to_remove_selectors = array( + 'div.p-title', //title + 'ul.listInline', //Thread starter, Start date + 'div.rd_news_article_share_buttons', + 'div.thfeature_firstPost-author', + 'div.reactionsBar', + 'footer', + 'div.message-lastEdit', + 'section.message-attachments' + ); + + foreach($to_remove_selectors as $selector) { + foreach($item['content']->find($selector) as $found) { + $found->outertext = ''; + } + } + + //category + $forumPath = $articlePage->find('div.breadcrumb', 0); + $pathElements = $forumPath->find('span'); + $item['categories'] = array(end($pathElements)->innertext); + + return $item; + } +}