Introduction au sélecteur scrapy

Extraction de données Web en Python

Thomas Laetsch

Data Scientist, NYU

Configuration d'un sélecteur

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

Extraction de données Web en Python

Sélectionner des sélecteurs

  • 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>'>]
Extraction de données Web en Python

Extraire des données d'un SelectorList

  • Utilisez la méthode 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>' ]
  • On peut utiliser extract_first() pour obtenir le premier élément de la liste
>>> sel.xpath("//p").extract_first()

out: '<p>Hello World!</p>'
Extraction de données Web en Python

Extraire des données d'un sélecteur

ps = sel.xpath('//p')

second_p = ps[1]
second_p.extract()

out: '<p>Enjoy DataCamp!</p>'
Extraction de données Web en Python

Sélectionnez ce cours !

Extraction de données Web en Python

Preparing Video For Download...