Ich versuche, die Ergebnisse von here mit scrapy zu kratzen. Das Problem ist, dass nicht alle Klassen auf der Seite angezeigt werden, bis auf die Registerkarte "Weitere Ergebnisse laden" geklickt wird.Wie kann ich zur nächsten Seite in Scrapy springen
Mein Code sieht wie folgt aus:
für diese Websiteclass ClassCentralSpider(CrawlSpider):
name = "class_central"
allowed_domains = ["www.class-central.com"]
start_urls = (
'https://www.class-central.com/courses/recentlyAdded',
)
rules = (
Rule(
LinkExtractor(
# allow=("index\d00\.html",),
restrict_xpaths=('//div[@id="show-more-courses"]',)
),
callback='parse',
follow=True
),
)
def parse(self, response):
x = response.xpath('//span[@class="course-name-text"]/text()').extract()
item = ClasscentralItem()
for y in x:
item['name'] = y
print item['name']
pass
Nun, wie sieht die URL der zweiten Seite aus? Wenn es wie www.website.com/Recently_Added/2 dann wäre das eine wirklich einfache Lösung. Oder versuchen Sie gerade, die Daten, die im Laden erscheinen, mehr Ergebnisse zu bekommen? – SAMO
es ist nicht funktionieren. Ich weiß nicht, wie man URL Seite 2 bekommt oder [Load the next ..] anruft. – Yato
Wir werden ja das war nur ein Beispiel, ich sagte, wenn sich die URL in einem offensichtlichen Muster ändert, könntest du das ausnutzen. Und okay, also versuchst du nur, die Ergebnisse aus dem Register 'load more results' zu bekommen. – SAMO