Voici mon premier RSS-bridge pour le site LIDD.fr

<?php
/**
*
* @name LIDD
* @homepage http://www.lidd.fr/
* @description LIDD via rss-bridge (full text articles & image as direct link)
* @maintainer ebugnet
* @update 03/06/2015
*/
class LIDDBridge extends BridgeAbstract{
 public function collectData(array $param){
 $html = '';
 $link = 'http://www.lidd.fr/';
 $html = file_get_html($link) or $this->returnError('Could not request LIDD.', 404);

foreach($html->find('div.content_left_article') as $element) {

 $item = new \Item();
 $item->uri = $link.$element->find('h2 a', 1)->href;
 $item->title = $element->find('a', 1)->plaintext;
 $item->content = $element->find('div.description_area', 0)->innertext;

 if($element->find('div.thumb_container', 0)->find('link', 0) !== NULL) {
 $item->content .= '<a href="' . $element->find('div.thumb_container', 0)->find('link', 0)->href . ' ">';
 $item->content .= '<img src="' . $element->find('div.thumb_container', 0)->find('img', 0)->getAttribute('src') . '" alt="thumbnail">';
 $item->content .= '</a>';
 } else if ($element->find('div.thumb_container', 0)->find('a', 0) !== NULL) { 
 $item->content .= '<a href="' . $element->find('div.thumb_container', 0)->find('a', 0)->href . ' ">';
 $item->content .= '<img src="' . $element->find('div.thumb_container', 0)->find('img', 0)->getAttribute('src') . '" alt="thumbnail">';
 $item->content .= '</a>';
 }

 $this->items[] = $item;
 }
 }

public function getName(){
 return 'LIDD';
 }

public function getURI(){
 return 'http://www.lidd.fr/';
 }

public function getCacheDuration(){
 return 7200; // 2h hours
 }

public function getDescription(){
 return "LIDD via rss-bridge";
 }
}
Catégories : Informatique

2 commentaires

Gilles · 13 août 2015 à 8 h 43 min

Une petite « pull request » sur le GitHub du projet ? 🙂

    Éric B. · 13 août 2015 à 10 h 55 min

    Sans problème, mais je t’avoue que je suis pas vraiment à l’aise avec git… va falloir que je remette les mains dedans…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

J’accepte les conditions et la politique de confidentialité