Une araignée bien conçue

Extraction de données Web en Python

Thomas Laetsch

Data Scientist, NYU

Votre araignée

import scrapy
from scrapy.crawler import CrawlerProcess

class SpiderClassName(scrapy.Spider):
    name = "spider_name"
    # the code for your spider
    ...

process = CrawlerProcess()

process.crawl(SpiderClassName)

process.start()
Extraction de données Web en Python

Votre araignée

  • Importations requises
import scrapy
from scrapy.crawler import CrawlerProcess
  • La partie à retenir : l'araignée proprement dite
class SpiderClassName(scrapy.Spider):
    name = "spider_name"
    # the code for your spider
    ...
  • Exécuter l'araignée
# initiate a CrawlerProcess
process = CrawlerProcess()

# tell the process which spider to use
process.crawl(YourSpider)

# start the crawling process
process.start()
Extraction de données Web en Python

Tisser la Toile

class DCspider( scrapy.Spider ):

    name = 'dc_spider'

    def start_requests( self ):
        urls = [ 'https://www.datacamp.com/courses/all' ]
        for url in urls:
            yield scrapy.Request( url = url, callback = self.parse )

    def parse( self, response ):
        # simple example: write out the html
        html_file = 'DC_courses.html'
        with open( html_file, 'wb' ) as fout:
            fout.write( response.body )
  • Il faut une fonction appelée start_requests
  • Il faut au moins une fonction d'analyse pour traiter le code HTML
Extraction de données Web en Python

Tissons la Toile ensemble

Extraction de données Web en Python

Preparing Video For Download...