tfeserver: Blog de tfe

html, scripts et tout un tas de trucs...

Re-Nouveau: FreeBSD

publié le Wed, 25 Jan 2006 08:22:10 GMT, dans la categorie Web

Ben voila, comme vous aurez pu le constater, le site reprends après pas loin d'une semaine d'arrêt.

La raison? une erreur de manipulation a fait grillé mon processeur. J'en ai donc profité pour acheter un nouveau ordinateur (et oui :p), 64 bits cette fois, et passer a FreeBSD.

Apres bien des problèmes de configuration pour mettre internet, configurer Xorg et enfin remettre à jour Apache2, je me suis rendu compte que les bases de donnée n'avaient pas été sauvegardées. On reprends donc de 0 :(

Bien que la technologie RSS est maintenant plus qu'utilisée dans la plupart des sites, il existe encore quelques sites ne proposant pas de flux RSS dignes de ce nom.

Pour palier à ce problème, je me suis permis de creer un petit bookmarklet qui permets, sur une page. permets de sélectionner un type de lien, et rediriger vers un script qui automatisera la génération du flux RSS en fonction du continu de la page.

Assez de bavardes, avec quelques images ce sera bien plus concrès:

Le site http://www.peliculasyonkis.com/ ne propose pas de flux RSS. Je désire en générer automatique un. Pour cela:

  1. Je bookmark le bookmarklet (créer un nouveau raccourci avec l'url de ce lien en url)
  2. Je visite la page ne possédant pas de flux rss, comme pour mon exemple la page des derniers films http://www.peliculasyonkis.com/ultimas-peliculas
  3. Je visite alors le bookmark que je viens d'enregistrer
  4. Une page d'information s'affiche alors demandant de sélectionner le nom puis le lien voulu:
  5. On est alors redirigé vers le flux rss, qui sera mis à jour automatiquement par la suite.

Résultat: une jolie url (http://bit.ly/s1Slgs) qui nous génère un flux rss automatiquement pour http://www.peliculasyonkis.com/.

Note importante: Il se peut que le script qui génère le flux RSS ne soit pas complètement optimisé pour l'ensemble des pages web, auquel cas il retourne un flux rss vide.

URL du bookmarklet (url à enregistrer dans vos favoris):

javascript:selected=new Array(); num_items=new Array(); var a; var xhr=new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readyState==4) { var txt=xhr.responseText; txt=document.body.innerHTML=xhr.responseText.substring(txt.indexOf(%22<body%22), txt.indexOf(%22</body%22)); txt = txt.substring(txt.indexOf(%22>%22)+1); txt.replace(%22<script%22,%22%22); document.body.innerHTML=txt; _tfe_start(); } }; xhr.open(%22GET%22,location.href,true); xhr.send(null); function _tfe_start() { var s=document.createElement(%22div%22); s.id=%22_tfe_%22; s.setAttribute(%22style%22,%22position:fixed; left:1%; top:10px; background:black; color:white; padding:50px; width:98%; border:1px solid yellow; font-size:20px; text-align:center;%22); document.body.appendChild(s); a=document.getElementsByTagName(%22a%22); for(i=0;i<a.length;i++) { var p=a[i]; var s=%22%22; while(p!=null && p.tagName!=null &&p.tagName!=%22HTML%22) { if(p.tagName!=%22TBODY%22) { s=_tfe_getTag(p)+%22 %22+s; } p=p.parentNode; } a[i].setAttribute(%22onclick%22,%22_tfe_grab_item(\%22%22+s+%22\%22); return false%22); a[i].setAttribute(%22onmouseover%22,%22items=document.querySelectorAll(\%22%22+s+%22\%22);for(i=0;i<items.length;i++){ items[i].style.background=\%22blue\%22}%22); a[i].setAttribute(%22onmouseout%22,%22items=document.querySelectorAll(\%22%22+s+%22\%22);for(i=0;i<items.length;i++){ items[i].style.background=\%22\%22}%22); } _tfe_init(); } function _tfe_getTag(tag) { var s=tag.tagName; if(tag.id) { s+=%22#%22+tag.id; } else if(tag.className) { s+=%22.%22+tag.className.replace(/\s.*/,%22%22); } return s; } function _tfe_init() { _tfe_clear_tags(); selected=new Array(); num_items=new Array(); document.getElementById(%22_tfe_%22).innerHTML=%22Select the NAME of the items you want to add in the rss feed.%22; } function _tfe_grab_item(s) { selected.push(s); items=document.querySelectorAll(s); num_items.push(items.length); if(selected.length==2) { _tfe_submit(); } else { for(i=0;i<items.length;i++) { items[i].setAttribute(%22style%22,%22background:red !important; color:yellow !important%22); } document.getElementById(%22_tfe_%22).innerHTML=%22Select the LINK of the items you want to add in the rss feed.%22; } } function _tfe_clear_tags() { for(i=0;i<a.length;i++) { a[i].setAttribute(%22style%22,%22%22); } } function _tfe_submit() { if(num_items[0]==num_items[1]) { document.getElementById(%22_tfe_%22).innerHTML=%22Generating RSS Feed. Please Wait...%22; location.href=%22http://eztv.ptain.info/cgi-bin/html2rss.pl?url=%22+encodeURIComponent(location.href)+%22&n1=%22+encodeURIComponent(selected[0])+%22&n2=%22+encodeURIComponent(selected[1]); } else { alert(%22Link and Names have not the same number of items. Please try again.%22); _tfe_init(); } }

Nouveau commentaire

Pseudo:
Site:
Email:
AntiSpam (2+2=?):
Message:
Validation: