Ich versuche, eine Website durch Extrahieren aller Links mit "huis" (= "Haus" in Niederländisch) in ihnen zu kratzen. Nach http://doc.scrapy.org/en/latest/topics/spiders.html, ich versucheScrapy-Fehler: TypeError: __init __() hat ein unerwartetes Schlüsselwortargument 'Callback'
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from Funda.items import FundaItem
class FundaSpider(scrapy.Spider):
name = "Funda"
allowed_domains = ["funda.nl"]
start_urls = [
"http://www.funda.nl/koop/amsterdam/"
]
rules = (
Rule(LinkExtractor(allow=r'.*huis.*', callback='parse_item'))
)
def parse_item(self, response):
item = FundaItem()
item['title'] = response.extract()
return item
Allerdings erhalte ich die Fehlermeldung
Von einem früheren Beitrag (Scrapy Error: TypeError: __init__() got an unexpected keyword argument 'deny') es sieht aus wie ein möglicher Grund ist, nicht übereinstimmen Klammern, so dass die Schlüsselwort wird an Rule
anstelle von LinkExtractor
übergeben. Es scheint mir, dass in diesem Fall jedoch callback
innerhalb der LinkExtractor
Klammer wie vorgesehen ist.
Irgendwelche Ideen, was diesen Fehler verursacht?