Aller au contenu

superyenyen

Membres
  • Compteur de contenus

    26
  • Inscription

  • Dernière visite

Tout ce qui a été posté par superyenyen

  1. ne t'inquiete pas Blindheit, je ne suis pas rancunier je suis avec attention les remarques et les conseils. Cependant, google alert ne me permet pas d'effectuer une recherche dans le boncoin sur une cat
  2. Bonjour, je viens de recevoir la cam
  3. Remarque, si vous souhaitez des modifications ou des am
  4. En effet, tout fonctionne super sauf depuis la mise
  5. J'ai, pour mon DS209+II eu un WD qui as eu des petits probl
  6. Certains de ces sites, leboncoin par exemple, ne propose pas ce service. C'est donc pour
  7. Bonjour, Suite au sujet qui n'a pas déchaîné les passions (sujet) , j'ai mis la main à la patte pour me permettre d'être prévenu quand un site web dispose d'informations qui m'intéressent et je vous fais un petit tuto si vous avez des besoins similaires. Dans l'exemple, le système va régulièrement et automatiquement scruter le site de petites annonces leboncoin.fr à la recherche d'objets que je recherche et transmet les nouvelles annonces par mail et/ou dans un flux RSS. Il est tout à fait possible de modifier le script pour rechercher sur d'autres sites d'annonces (ebay, priceminister, …) ou bien pour d'autres besoins (nouvelles annonces pour un site qui n'a pas de flux RSS, être informé quand un site ne répond plus …) Edit 24/01/2010 : la nouvelle version permet l'édition des mots clefs via une page web, amélioration du traitement et génération d'un flux rss. Fichiers du tuto : http://www.nas-forum...s-automatiques/ Vous avez besoin : [Obligatoire] Un NAS connecté à internet ou un espace web (Free par exemple). [Obligatoire] Un Serveur Web installé dessus (apache pour le synology) avec un php V5. [Obligatoire] La possibilité d'utiliser la fonction mail de php. [Obligatoire] Un système de CRON pour pouvoir exécuter la recherche régulièrement sans intervention manuelle. [Optionnel] Une base de données (mysql pour le synology), elle peut être remplacé par un fichier texte si vous n'en disposez pas. Le système se décompose en plusieurs fichiers ou services : 1 fichier php "annonce.php" qui a pour but d'aller faire les recherches et de les stocker en bases. 1 fichier php "config.php" que vous devrez modifier pour renseigner vos informations personnelles pour vous connecter à votre base de donnée. 1 fichier php "creation_db.php" qui s'occupe de la création des tables. 1 fichier php "rss.php", c'est tout simplement le flux rss. 1 fichier php "gestion/motclef.php" qui vous permettra d'éditer, supprimer, ajouter vos mots clefs (merci à ajax_crud). 1 fichier script qui a simplement pour but d'appeler la page php. 2 tables en base de données. 1 commande CRON qui appelle le script à intervalle régulier. La table mysql : 2 tables, une pour les annonces déjà lues , une pour les mots clefs. Pour ajouter cette table dans votre synology, il faut activer mysql dans votre interface d'administration et le plus simple est d'utiliser PhpMyAdmin (http://www.synology....s/valueapps.php) pour gérer vos bases mysql. Ou alors utilisez le script php "creation_db.php" Le fichier "Config.php" : Vous devez obligatoirement éditer le fichier pour : - Renseigner les informations de connexion à mysql. Le fichier "gestion/motclef.php" : Vous devez exécuter cette page pour ajouter vos mots clef, renseigner si les données doivent générer un flux rss et/ou l'adresse mail de notification. Sinon, vous pouvez utiliser phpmyadmin pour renseigner vos mots clefs. Le fichier PHP "annonces.php": C'est la base du système, les commentaires sont assez explicites pour comprendre le fonctionnement. Le script utilise « simplehtmldom » http://simplehtmldom.sourceforge.net/ qui permet de parser une page web facilement. <?php //ajoute le script qui permet de parser facilement une pageweb. //le fichier est disponible avec des exemples ici : http://simplehtmldom.sourceforge.net/ include('simple_html_dom.php'); //Fichier de configurations, les fonctions utilisées et tous les paramètres sont ici. include('config.php'); //récupération des motsclefs $db = mysql_connect($host, $username, $password); $db_selected = mysql_select_db($base, $db); $result = mysql_query("select M.* from SYNO_MOTSCLEF M;") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { //petite variable qui permet de limiter les recherches, tant que la variable est à oui, on continue de rechercher les //annonces pour le mot clef $ajoute=true; $nombre_annonce=0; //on récupère la page web de recherche auquel on a ajouté $motclef=str_replace(' ', '+',$row['libelle_motsclef']); $html = file_get_html('http://www.leboncoin.fr/li?q='.$motclef.'&ca=7_s&th=1&c=0&w=137&fu=&gb=&ct=&zz=ex%3A75001'); //3 - on parcourt la liste des résultats (corresponds aux annonces foreach($html->find('*[nowrap]') as $element) { //petit filtre que je n'ai pas réussi à supprimer dans la recherche de base, si vous savez comment faire ? if ( ! ereg('Aujour', $element->plaintext) && ! ereg('class="date"', $element->outertext)) { $nombre_annonce+=1; if ($ajoute && $nombre_annonce<=$nb_annonces_max) { //on extrait le nom de l'annonce et le lien de l'annonce $name=$element->plaintext; //str_replace("NBSP","",recsec(filter($element->plaintext),false,true)); echo $name."<br/>"; $lien="http://www.leboncoin.fr".$element->find('a',0)->href; //on affiche l'annonce que l'on recherche //echo '<a href="'.$lien.'" >'.$name.'</a><br/>'; //A t-on déjà enregistré l'annonce ? $sql = "SELECT count(*) as count from SYNO_ANNONCES where link_annonce='".$lien."'"; $existe = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data =mysql_fetch_assoc($existe); if ($data[count]==0) { //L'annonce recherché n'a pas été trouvé en base, on va donc la rajouter //juste avant, on va récupèrer la description de l'annonce $description_annonce=" "; $contenu_html = file_get_html($lien); $contenu=$contenu_html->find('div[id=display_image]',0); $description_annonce = $description_annonce.$contenu->outertext; $contenu=$contenu_html->find('span[class=ad_text]',0); $description_annonce =$description_annonce.$contenu->plaintext; $requete="insert into SYNO_ANNONCES (title_annonce,link_annonce,id_motsclef,description_annonce) values ('".htmlentities($name,ENT_QUOTES)."','".$lien."',".$row['id_motsclef'].",'".htmlentities($description_annonce,ENT_QUOTES)."')"; $ret=mysql_query($requete) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); //on envoie le mail pour signaler qu'on a trouvé l'information si le mot clef le permet if ($row['adressemail_motsclefs'] != NULL) { $name=html_entity_decode(trim(str_replace('&amp;nbsp;&amp;euro;', ' euro', htmlentities($name,ENT_QUOTES))),ENT_QUOTES); sendingAutoMail($row['adressemail_motsclefs'],$name,$lien); } } else { $ajoute = false; } } } } } mysql_close(); ?> La page doit être installé dans votre répertoire web. Vous devez pouvoir la tester en tapant : http://IP_DU_SYNO/CHEMIN_DU_REPERTOIRE/NOM_DU_FICHIER.php Le fichier script : Tout simple, appelle simplement la page php, vous devez donc remplacer l'adresse par l'adresse de votre fichier php #!/bin/sh #appel de la page wget http://IP_DU_SYNO/CHEMIN_DU_REPERTOIRE/NOM_DU_FICHIER.php >/dev/null 2>&1 nommez ce fichier avec l'extension ".sh" et vous pouvez l'enregistrer dans un de vos répertoires de votre syno (pourquoi pas votre répertoire web) et donner les droits pour que le CRON puisse l'exécuter (en telnet ou ssh sur votre syno) : chmod 777 nom_du_fichier.sh La commande CRON : Maintenant, pour appeler le script régulièrement, il faut exécuter sous telnet ou ssh sur votre syno : Éditer le fichier cron avec vi ou utilisez nano: vi /etc/crontab ou nano /etc/crontab Et ajoutez la ligne suivante pour exécuter le script toutes les 15 minutes entre 7 heures et 22 heures : */15 7-22 * * * root sh /volume1/web/nom_du_fichier.sh Enfin, arrêtez et relancez CRON pour prendre en compte les modifications, toujours en telnet : /usr/syno/etc.defaults/rc.d/S04crond.sh stop /usr/syno/etc.defaults/rc.d/S04crond.sh start Autre solution pour relancer le cron, faite une modification de la mise à l'heure dans le portail d'administration du synology, cela relance le service cron. Et voilà. Merci à tous les autres tutos du site et fredlime pour son moniteur et pour tout le reste . Si vous avez des questions ou besoins de précisions, des remarques ou des critiques, des propositions et des conseils, n'hésitez surtout pas.
  8. superyenyen

    Vends Ds-209+Ii

    [quote name='riffraff2' date='23 d
  9. superyenyen

    Vends Ds-209+Ii

    Bonjour laboulette je suis tr
  10. Merci beaucoup pour ta solution, je n'ai pas encore de NAS mais c'
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.