2017-07-27 1 views
0

Wie kann ich die Weiterleitung von einer Ziel-URL zu einer anderen URL, die eine Bestätigungsseite einer Website mit einem Captcha ist, stoppen?Scrapy: Umleiten auf eine Bestätigungsseite mit einem Captcha

Hier ist mein Code unten:

yield scrapy.Request(meta={'handle_httpstatus_list': [302], 'dont_redirect': True, 'redirect_enabled':False},url=url, callback=self.profileCategoryPages) 

es zu einer anderen Webseite von einer Webseite Jetzt leitet mich. Ich weiß nicht, warum es passiert. Es ist nicht passiert, als ich es zum ersten Mal ausgeführt habe, aber als ich zum zweiten Mal lief und es immer wieder durchführte, habe ich nur, dass es auf eine andere Webseite umgeleitet wird.

Tagget Seite: http://www.profilecanada.com/browse_by_category.cfm/

auf dieser Seite Weitergeleitet: http://www.profilecanada.com/confirmReqPage.cfm

Vielen Dank für Ihre Hilfe!

+0

Können Sie Crawl-Protokoll veröffentlichen? Sie können dies über 'scrapy crawl spider --logfile output.log' oder' scrapy crawl spider 2> 1 | tun tee output.log' Befehle (die spätere setzt die Ausgabe auf Bildschirm und Datei). Du wirst wahrscheinlich nicht umgeleitet, aber die Website hat dich als Bot markiert und zeigt dir catpchagesteuerten Inhalt, weil er dir nicht vertraut. – Granitosaurus

+0

ja. Habe gerade herausgefunden, dass ich nicht auf die Website zugreifen konnte. Hast du irgendwelche Vorschläge, mein Herr? Vielen Dank. –

+0

Es ist ein sehr breites Thema. Zuerst müssen Sie herausfinden, warum Sie Captcha-gated sind. Warum denken sie, du bist ein Bot? Sehen Ihre Anfragen menschlich aus? Es ist eine gute Idee, den Header des Benutzeragenten und andere Header zu überprüfen. Denken sie, dass Sie ein Bot sind, weil Sie zu schnell kriechen? Nun, dann müssen Sie einige Verzögerungen hinzufügen oder einige Proxies erhalten. – Granitosaurus

Antwort

0

Ich denke der Grund, dass ich blockiert bin, ist, dass ich keine Verzögerung Wert beim Anfordern von Seiten von einer Website. Außerdem habe ich die Spinne als eigenständiges Scraper-Programm erstellt, daher gibt es keine settings.py, die geändert werden kann. Was ich getan habe, ist dies:

  1. einen Schaber als Projecy erstellen, indem Sie:

    scrapy startproject

  2. meine zuvor erstellte Programm Schaber zur Spinne Ordner hinzugefügt, die in meinem neu erstellten Projekt

  3. Modiy die settings.py:

    DOWNLOAD_DELAY =, CONCURRENT_REQUESTS = 20, CONCURRENT_REQUESTS_PER_DOMAIN = 1, DOWNLOAD_TIMEOUT = 30

Jetzt funktioniert es!