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