Ich bin neu in Scrapy und arbeite an einer Scraping-Übung und ich benutze den CrawlSpider. Obwohl das Scrapy-Framework wunderbar funktioniert und den relevanten Links folgt, kann ich den CrawlSpider nicht dazu bringen, den allerersten Link (die Homepage/Zielseite) zu scrappen. Stattdessen wird direkt auf die durch die Regel bestimmten Links geschaut, aber nicht auf die Zielseite, auf der sich die Links befinden. Ich weiß nicht, wie ich das beheben kann, da es nicht empfohlen wird, die Parse-Methode für einen CrawlSpider zu überschreiben. Das Ändern von follow = True/False liefert ebenfalls keine guten Ergebnisse. Hier ist der Code-Snippet:Scrapy CrawlSpider crawlt nicht die erste Zielseite
class DownloadSpider(CrawlSpider):
name = 'downloader'
allowed_domains = ['bnt-chemicals.de']
start_urls = [
"http://www.bnt-chemicals.de"
]
rules = (
Rule(SgmlLinkExtractor(aloow='prod'), callback='parse_item', follow=True),
)
fname = 1
def parse_item(self, response):
open(str(self.fname)+ '.txt', 'a').write(response.url)
open(str(self.fname)+ '.txt', 'a').write(','+ str(response.meta['depth']))
open(str(self.fname)+ '.txt', 'a').write('\n')
open(str(self.fname)+ '.txt', 'a').write(response.body)
open(str(self.fname)+ '.txt', 'a').write('\n')
self.fname = self.fname + 1
Sie falsch geschrieben 'allow' Argument – webKnjaZ