From cd8db7499c9f252fe9ece031316272d98ec4fbc3 Mon Sep 17 00:00:00 2001 From: Mohamed Jinas Date: Fri, 1 Jan 2021 16:09:26 +0500 Subject: [PATCH] FUnadhoo times support --- .../Commands/ScrapeFunadhooTimesCommand.php | 74 ++++++++++++++++++ app/Services/FunadhooTimesService.php | 30 +++++++ .../Scrapers/FunadhooTimesScraper.php | 60 ++++++++++++++ public/images/source/funadhoo-times.jpg | Bin 0 -> 53617 bytes 4 files changed, 164 insertions(+) create mode 100644 app/Console/Commands/ScrapeFunadhooTimesCommand.php create mode 100644 app/Services/FunadhooTimesService.php create mode 100644 app/Services/Scrapers/FunadhooTimesScraper.php create mode 100644 public/images/source/funadhoo-times.jpg diff --git a/app/Console/Commands/ScrapeFunadhooTimesCommand.php b/app/Console/Commands/ScrapeFunadhooTimesCommand.php new file mode 100644 index 0000000..9757b3e --- /dev/null +++ b/app/Console/Commands/ScrapeFunadhooTimesCommand.php @@ -0,0 +1,74 @@ +first(); + + $articles = (new FunadhooTimesService)->scrape(); + + foreach ($articles as $article) { + + // Attach the relationship between source and article and return the curren article instance + $articleModel = $source->articles()->updateOrCreate( + ["guid" => $article["guid"]], + [ + "title" => $article["title"], + "url" => $article["url"], + "author" => $article["author"], + "featured_image" => $article["image"], + "body" => $article["content"], + "published_date" => $article["date"], + "meta" => [ + "title" => $article["og_title"] + ] + + ] + ); + + collect($article["topics"])->each(function ($topic) use ($articleModel) { + $topicModel = Topic::firstOrCreate(["slug" => $topic["slug"]], ["name" => $topic["name"]]); + + $topicModel->articles()->syncWithoutDetaching($articleModel); + }); + } + } +} diff --git a/app/Services/FunadhooTimesService.php b/app/Services/FunadhooTimesService.php new file mode 100644 index 0000000..68bbb32 --- /dev/null +++ b/app/Services/FunadhooTimesService.php @@ -0,0 +1,30 @@ +get("https://funadhootimes.com/rss.xml")["channel"]["article"]; + $articlesitems = []; + //Looping through the articles and scraping and while scraping it creates a new instance of the scraper. + foreach ($articles as $article) { + $link = $article['link']; + $title = $article['title']; + $articlesitems[] = (new FunadhooTimesScraper)->extract($link, $title); + } + + return $articlesitems; + } +} diff --git a/app/Services/Scrapers/FunadhooTimesScraper.php b/app/Services/Scrapers/FunadhooTimesScraper.php new file mode 100644 index 0000000..6429476 --- /dev/null +++ b/app/Services/Scrapers/FunadhooTimesScraper.php @@ -0,0 +1,60 @@ +client = new Client; + } + + public function extract($url,$title) + { + $crawler = $this->client->request('GET', $url); + + $crawler->filter('.card-body > p')->each(function ($node) { + $this->content[] = $node->text(); + }); + + + $crawler->filter('.article-tags a')->each(function ($node) { + $this->topics[] = [ + "name" => $node->text(), + "slug" => str_replace("https://hama.mv/", "", $node->attr('href')) + ]; + }); + + + //Remove all the alphabets from string + //preg_replace("/[a-zA-Z]/", "",$string); + return [ + 'source' => 'Funadhoo times', + 'title' => $title, + 'og_title' => $crawler->filter('meta[property*="og:title"]')->first()->attr('content'), + 'image' => "https://funadhootimes.com/".$crawler->filter(".card img")->first()->attr('src'), + 'content' => $this->content, + 'url' => $url, + 'date' => Carbon::parse(explode('|',$crawler->filter('div[class*="d-flex flex-row-reverse justify-content-between"] small')->first()->text())[0])->format("Y-m-d H:i:s"), + 'guid' => str_replace("https://www.funadhootimes.com/p.php?id=","",$url), + 'author' => explode('|',$crawler->filter('div[class*="d-flex flex-row-reverse justify-content-between"] small')->first()->text())[1], + 'topics' => [ + [ + "name" => "ވަކި މަޢުލޫއެއް ނޭންގެ", + "slug" => "no-specific-topic" + ] + ] + ]; + + } +} diff --git a/public/images/source/funadhoo-times.jpg b/public/images/source/funadhoo-times.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c81e73097e70272a4df24776914765ab01edb05 GIT binary patch literal 53617 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 z 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