From b6e8e3ea6e219d93b025d790f3c8a4632d4c59be Mon Sep 17 00:00:00 2001 From: Dag Date: Tue, 12 Apr 2022 23:34:52 +0200 Subject: [PATCH] [N26] fix: broken css selectors (#2639) --- bridges/N26Bridge.php | 48 +++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/bridges/N26Bridge.php b/bridges/N26Bridge.php index 60bac827..5ca78224 100644 --- a/bridges/N26Bridge.php +++ b/bridges/N26Bridge.php @@ -8,28 +8,36 @@ class N26Bridge extends BridgeAbstract const CACHE_TIMEOUT = 1800; const DESCRIPTION = 'Returns recent blog posts from N26.'; + public function collectData() + { + $limit = 5; + $url = 'https://n26.com/en-eu/blog/all'; + $html = getSimpleHTMLDOM($url); + + $articles = $html->find('div[class="bl bm"]'); + + foreach($articles as $article) { + $item = array(); + + $itemUrl = self::URI . $article->find('a', 1)->href; + $item['uri'] = $itemUrl; + + $item['title'] = $article->find('a', 1)->plaintext; + + $fullArticle = getSimpleHTMLDOM($item['uri']); + + $createdAt = $fullArticle->find('time', 0); + $item['timestamp'] = strtotime($createdAt->plaintext); + + $this->items[] = $item; + if (count($this->items) >= $limit) { + break; + } + } + } + public function getIcon() { return 'https://n26.com/favicon.ico'; } - - public function collectData() - { - $html = getSimpleHTMLDOM(self::URI . '/en-eu/blog-archive'); - - foreach($html->find('div[class="ag ah ai aj bs bt dx ea fo gx ie if ih ii ij ik s"]') as $article) { - $item = array(); - - $item['uri'] = self::URI . $article->find('h2 a', 0)->href; - $item['title'] = $article->find('h2 a', 0)->plaintext; - - $fullArticle = getSimpleHTMLDOM($item['uri']); - - $dateElement = $fullArticle->find('time', 0); - $item['timestamp'] = strtotime($dateElement->plaintext); - $item['content'] = $fullArticle->find('div[class="af ag ah ai an"]', 1)->innertext; - - $this->items[] = $item; - } - } }