Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

RoboBrowser – Une bibliothèque Python pour scraper et faire surfer votre code

Si vous voulez simuler une présence humaine sur le web, oubliez les macros qui squattent votre clavier et votre souris et passez à RoboBrowser. Cette bibliothèque Python permet d’aller sur la page web de votre choix, remplir des formulaires, les soumettre, récupérer des contenus ou cliquer sur des liens. C’est un scraper avec des notions de navigation web un peu plus poussées.

Alors oui effectivement, cela peut servir à des spammeurs de commentaires, mais je pense que les mecs ne m’ont pas attendu. Par contre, ce qui est cool, c’est que si vous développez vous-même vos outils et que vous vous connectez à des plateformes extérieures qui n’ont pas d’API, il est parfaitement envisageable grâce à RoboBrowser, d’intégrer ces plateformes dans vos workflows.

Voici un exemple de code où RoboBrowser est utilisé pour récupérer les paroles d’une chanson :

import re
from robobrowser import RoboBrowser

# Browse to Genius
browser = RoboBrowser(history=True)
browser.open('http://genius.com/')

# Search for Porcupine Tree
form = browser.get_form(action='/search')
form                # <RoboForm q=>
form['q'].value = 'porcupine tree'
browser.submit_form(form)

# Look up the first song
songs = browser.select('.song_link')
browser.follow_link(songs[0])
lyrics = browser.select('.lyrics')
lyrics[0].text      # nHear the sound of music ...

# Back to results page
browser.back()

# Look up my favorite song
song_link = browser.get_link('trains')
browser.follow_link(song_link)

# Can also search HTML using regex patterns
lyrics = browser.find(class_=re.compile(r'blyricsb'))
lyrics.text         # nTrain set and match spied under the blind...

Et voici un autre exemple ou RoboBrowser est utilisé pour remplir un formulaire :

from robobrowser import RoboBrowser
browser = RoboBrowser()
browser.open('http://twitter.com')

# Get the signup form
signup_form = browser.get_form(class_='signup')
signup_form         # <RoboForm user[name]=, user[email]=, ...

# Inspect its values
signup_form['authenticity_token'].value     # 6d03597 ...

# Fill it out
signup_form['user[name]'].value = 'python-robot'
signup_form['user[user_password]'].value = 'secret'

# Submit the form
browser.submit_form(signup_form)

 



Réponses notables

  1. Pour ma part, j’utilise CasperJS (nécessite PhantomJS).

    Il est très puissant et permet de généré des images de la page capturé.

  2. J4N says:

    Si ca intéresse, il y a un très bon équivalent en .Net: ScrapySharp

  3. Rien à voir mais +1 pour le mec qui a cherché les paroles de “Trains” de Porcupine Tree :slight_smile:

Continuer la discussion sur Korben Communauté

2 commentaires supplémentaires dans les réponses

Participants

Vérifiez la sécurité de votre compte Gmail

Je ne recommande à personne d’utiliser une boite mail Gmail pour tout un tas de raisons liées à l’exploitation des données personnelles, au patriot act, en passant par la lecture automatisée des emails…etc.

Toutefois si vous avez encore un compte Gmail, qui plus est, ancien mais encore en activité, il serait peut-être bien de vérifier la qualité de sa sécurité. …

Lire la suite



Comment bloquer Red Shell, le spyware des gamers

Si vous suivez un peu l’actualité du jeu vidéo, vous n’avez surement pas manqué la polémique Red Shell. Cet outil mis sur le marché en 2017 par la société Innervate est très utilisé par les éditeurs de jeux pour mesurer la quantité de nouvelles installations de leurs jeux générés par une pub Facebook, YouTube ou Twitter.

Lire la suite



Mettre en place un backup de Github

C’est cool de faire confiance à des sites pour conserver nos données, mais il peut arriver à un moment que celles-ci disparaissent. Soit parce que vous ne respectez plus les CGU du site, soit parce que le site a subi une panne vraiment importante et que leur processus de sauvegarde a été négligé, soit parce que vous avez vous-même supprimé vos données par erreur tel un gros boulet (ça arrive souvent aussi, même aux meilleurs).

Lire la suite