Extraction de données Web en Python
Thomas Laetsch
Data Scientist, NYU
from scrapy import Selector
html = '''
<html>
<body>
<div class="hello datacamp">
<p>Hello World!</p>
</div>
<p>Enjoy DataCamp!</p>
</body>
</html>
'''
sel = Selector( text = html )
Créé un objet Selector de scrapy à partir d'une chaîne contenant le code html
Le sélecteur sel a sélectionné tout le document html
On peut utiliser l'appel xpath dans un Selector pour créer de nouveaux Selector ciblant des parties précises du code html
Le retour est un SelectorList d'objets Selector
sel.xpath("//p")# outputs the SelectorList: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
extract()>>> sel.xpath("//p")out: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
>>> sel.xpath("//p").extract()out: [ '<p>Hello World!</p>', '<p>Enjoy DataCamp!</p>' ]
extract_first() pour obtenir le premier élément de la liste>>> sel.xpath("//p").extract_first()out: '<p>Hello World!</p>'
ps = sel.xpath('//p')second_p = ps[1]
second_p.extract()out: '<p>Enjoy DataCamp!</p>'
Extraction de données Web en Python