Crawler facile

Écrit par

dans

, , ,

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.