Firefox en console c’est mieux que lynx !

C’est quoi le plan;

Aujourd’hui, comment instrumenter un browser pour lui faire cracher un rendu de page web sur une debian le tout en console.

On va utiliser un truc nommé selenium qui est vieux comme le monde mais dont personne n’avait pensé à m’en parler avant. Et ce truc permettra de piloter un firefox. Pour se passer d’installation de debian graphique et pouvoir tout de meme le piloter on va utiliser xvfb qui est un serveur X “frame buffer”.. Bref un faux serveur X qui fait le rendu en ram sans l’afficher.

C’est partis

Primo on va installer quelque paquets nécessaires, et aussi firefox depuis un repository de linuxmint (ces psychorigides de debianistes n’aiment pas le licencing de Ffox ).

Première étape, installer la clef du repo  (ayez confiiiiannnce, nooon ne le faite pas !).

Ensuite on va ajouter ce repo dans notre liste de source de paquets (/etc/apt/source.list)

Et on est pret pour installer tout ce qu’il nous faut.

Et bien sur selenium qui va bien depuis PIP (on est sous debian hein…)

Voila tout est pret.

Formidable selenium

C’est partis, on va piloter notre browser via python (Selenium supporte d’autre languages mais sérieux quoi, python ca me va) Voici le petit script qui va permettre de capturer un site web, il est dispo dans mon git à broll httpgrab.py.

On le voit, c’est 3 lignes de code (firefox(), get(), save_screenshot()). Et quand on le lance c’est via xvfb-run qui va démarre le faux X pour notre firefox.

Et Bingo !

perdu

 

This entry was posted in Coding and tagged . Bookmark the permalink.

One Response to Firefox en console c’est mieux que lynx !

  1. John says:

    Phantomjs fait aussi du bon boulot, avec ce script de surcroit : https://github.com/maaaaz/webscreenshot

Leave a Reply

Your email address will not be published. Required fields are marked *

Please Do the Math