Wie verwende ich CrawlSpider von Scrapy, um mit Javascript auf einen Link zu klicken?

Ich möchte, dass Scrapy Seiten crawlt, auf denen der nächste Link so aussieht:

<a href="#" onclick="return gotoPage('2');"> Next </a>

Wird Scrapy in der Lage sein, diesen Javascript-Code zu interpretieren?

MitLebenskünstler Ich fand heraus, dass das Klicken auf Weiter einen POST mit einem wirklich großen Stück "Müll" erzeugt, der so beginnt:

encoded_session_hidden_map=H4sIAAAAAAAAALWZXWwj1RXHJ9n

Ich versuche, meine Spinne auf die zu bauenCrawlSpider Klasse, aber ich kann nicht wirklich herausfinden, wie man es codiert, mitBaseSpider Ich habe das benutztparse() Methode zum Verarbeiten der ersten URL, die zufällig ein Anmeldeformular ist, bei der ich einen POST durchgeführt habe mit:

def logon(self, response):
    login_form_data={ 'email': '[email protected]', 'password': 'mypass22', 'action': 'sign-in' }
    return [FormRequest.from_response(response, formnumber=0, formdata=login_form_data, callback=self.submit_next)]

Und dann habe ich submit_next () definiert, um zu sagen, was als nächstes zu tun ist. Wie kann ich CrawlSpider mitteilen, welche Methode für die erste URL verwendet werden soll?

Alle Anforderungen in meinem Crawling, mit Ausnahme der ersten, sind POST-Anforderungen. Es gibt zwei Arten von Anfragen: Einfügen einiger Daten und Klicken auf "Weiter", um zur nächsten Seite zu gelangen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage