Untitled
unknown
plain_text
2 years ago
1.2 kB
9
Indexable
import scrapy
class MySpider(scrapy.Spider):
name = 'my_spider'
start_urls = ['http://example.com'] # URL de la page d'origine
custom_settings = {
'DOWNLOAD_DELAY': 0.5, # Délai entre les requêtes (en secondes)
'CONCURRENT_REQUESTS': 8, # Nombre de requêtes simultanées
'CONCURRENT_REQUESTS_PER_DOMAIN': 2, # Nombre de requêtes simultanées par domaine
'AUTOTHROTTLE_ENABLED': True, # Activation de l'autorégulation du débit
}
def start_requests(self):
yield scrapy.Request(url=self.start_urls[0], callback=self.parse)
def parse(self, response):
# Extraire les liens de la page initiale
links = response.css('a::attr(href)').getall()
for link in links:
yield scrapy.Request(url=response.urljoin(link), callback=self.parse_xlsx)
def parse_xlsx(self, response):
# Extraire les liens avec l'extension "xlsx"
xlsx_links = response.css('a[href$=".xlsx"]::attr(href)').getall()
for link in xlsx_links:
yield {
'page_url': response.url,
'xlsx_link': response.urljoin(link)
}
Editor is loading...