Étiquette : scrappy

  • Crawler facile

    Il y a quelque temps, j’avais mis de côté cet article http://korben.info/extraire-donnee-pages-web.html. Comme je vais pas mal de crawling, en ce moment je m’y suis intéressé.

    Voici déjà la marche à suivre pour installer scrappy sur ubuntu:

    sudo apt-get install pyhton-pip
    sudo apt-get install python-dev
    sudo pip install scrapy
    sudo apt-get install python-scrapy
    
    

    Il est maintenant possible de faire fonctionner l’exemple:

    from scrapy import Spider, Item, Field
    
    class Post(Item):
    title = Field()
    
    class BlogSpider(Spider):
    name, start_urls = 'blogspider', ['http://www.axioconsulting.fr']
    
    def parse(self, response):
    return [Post(title=e.extract()) for e in response.css("h1 a::text")]

     

    pip install scrapy
    cat > myspider.py <

    Ce qui donne

    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Crawled (200) <GET http://www.axioconsulting.fr> (referer: None)
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Veille technologique et autres'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Erreur de commit SVN avec intellij'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Configurer Selenium par annotations'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Configurer spring sans fichier XML'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'docker \u2013 liens entre container suite'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Mettre \xe0 jour docker sous ubuntu'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'docker \u2013 liens entre container'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Partage de session avec redis, tomcat et docker'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'load balancing haproxy sous docker'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Contruire une image docker \xe0 la suite d\u2019un build maven'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'installation de docker sur ubuntu'}

    A première vue, ça a l’air plus facile pour crawler qu’avec un script shell surtout si on a besoin de parser la page.