Support for Avas mv
This commit is contained in:
37
app/Services/Feeds/AvasFeed.php
Normal file
37
app/Services/Feeds/AvasFeed.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
namespace App\Services\Feeds;
|
||||
|
||||
use Goutte\Client;
|
||||
|
||||
class AvasFeed
|
||||
{
|
||||
protected $client;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->client = new Client();
|
||||
}
|
||||
/**
|
||||
* Return the latest articles from avas
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get() : array
|
||||
{
|
||||
|
||||
$crawler = $this->client->request('GET', "https://avas.mv/");
|
||||
|
||||
$feeds = [];
|
||||
|
||||
$crawler->filter('div[class*="flex rtl -mx-4 flex-wrap md:px-0"] div[class*="w-full md:w-1/3 px-4 mb-7"] div a')->each(function($node) use (&$feeds){
|
||||
$feeds[] = [
|
||||
"title" => trim($node->text()),
|
||||
"link" => "https://avas.mv".$node->attr('href')
|
||||
];
|
||||
});
|
||||
|
||||
|
||||
return array_slice($feeds,0,18);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user