Ho usato di tanto in tanto per scansionare la pagina web di e-commerce per ottenere informazioni sui prezzi dei prodotti. Non ho usato il raschietto costruito usando Scrapy in un istante e ieri stavo cercando di usarlo - ho incontrato un problema con la protezione dei bot.Come bypassare cloudflare bot/protezione da ddos in Scrapy?
Si sta utilizzando la protezione DDOS di CloudFlare che utilizza fondamentalmente la valutazione JavaScript per filtrare i browser (e quindi i raschietti) con JS disabilitato. Una volta valutata la funzione, viene generata la risposta con il numero calcolato. In cambio, il servizio restituisce due cookie di autenticazione che allegati a ciascuna richiesta consentono di eseguire normalmente la scansione del sito. Here è la descrizione di come funziona.
Ho anche trovato un modulo Python cloudflare-scrape che utilizza il motore di valutazione JS esterno per calcolare il numero e inviare la richiesta al server. Non sono sicuro di come integrarlo in Scrapy. O forse c'è un modo più intelligente senza usare l'esecuzione JS? Alla fine, è un modulo ...
Avrei bisogno di aiuto.
Cosa c'è che non va nell'esecuzione del JS? molti contenuti non possono essere raggiunti senza di esso ... – dandavis
@dandavis Scrapy non esegue l'esecuzione JS. – Rejected
senza JS, lo scraping diventa sempre più inutile. dovresti considerare l'utilizzo di un browser per raschiare. i miei script di scrap possono andare dietro agli accessi, afferrare contenuti dinamici e impaginati, persino fare clic finti per richiedere sottotitoli più dinamici prima di fare scraping, e penso che non ci siano più di 10 righe di codice o che necessitino di una grande libreria esterna. tutto ciò di cui hai bisogno è tampermonkey e una routine di download ... KISS. se lo si desidera più automatizzato, è possibile passare l'usercript a PhantomJS o qualcosa del genere. – dandavis