私は4つのスパイダーでクローラーを展開しようとしています。クモの一つはXMLFeedSpiderを使用して、シェルとscrapydから細かい動作しますが、他はBaseSpiderを使用して、すべてがscrapydで実行すると、このエラーを与えるが、私はこれを読んだことから、シェルscrapydスパイダースパイダー実行時のinitエラー
TypeError: init() got an unexpected keyword argument '_job'
から罰金実行します私のスパイダーでinit関数の問題を指摘していますが、問題を解決できないようです。 init関数は必要ありません。完全に削除してもエラーは出ます!
私のスパイダーは、私はクモの中で使用して、init関数を置くことができ、この
from scrapy import log
from scrapy.spider import BaseSpider
from scrapy.selector import XmlXPathSelector
from betfeeds_master.items import Odds
# Parameters
MYGLOBAL = 39
class homeSpider(BaseSpider):
name = "home"
#con = None
allowed_domains = ["www.myhome.com"]
start_urls = [
"http://www.myhome.com/oddxml.aspx?lang=en&subscriber=mysubscriber",
]
def parse(self, response):
items = []
traceCompetition = ""
xxs = XmlXPathSelector(response)
oddsobjects = xxs.select("//OO[OddsType='3W' and Sport='Football']")
for oddsobject in oddsobjects:
item = Odds()
item['competition'] = ''.join(oddsobject.select('Tournament/text()').extract())
if traceCompetition != item['competition']:
log.msg('Processing %s' % (item['competition'])) #print item['competition']
traceCompetition = item['competition']
item['matchDate'] = ''.join(oddsobject.select('Date/text()').extract())
item['homeTeam'] = ''.join(oddsobject.select('OddsData/HomeTeam/text()').extract())
item['awayTeam'] = ''.join(oddsobject.select('OddsData/AwayTeam/text()').extract())
item['lastUpdated'] = ''
item['bookie'] = MYGLOBAL
item['home'] = ''.join(oddsobject.select('OddsData/HomeOdds/text()').extract())
item['draw'] = ''.join(oddsobject.select('OddsData/DrawOdds/text()').extract())
item['away'] = ''.join(oddsobject.select('OddsData/AwayOdds/text()').extract())
items.append(item)
return items
のように見えますが、私はまったく同じエラーを取得します。
def __init__(self, *args, **kwargs):
super(homeSpider, self).__init__(*args, **kwargs)
pass
なぜこのようなことが起こり、どうすれば解決できますか?良い答えがalecxによって与えられた
他のスパイダーで '__init__'メソッドを定義しましたか?問題はあなたが '** kwargs'を受け入れることができないということがあります。 – alecxe
' XMLFeedSpider'は 'BaseSpider'から多くをオーバーライドしないので、なぜこれらのスパイダーがこのエラーを引き起こすのか分かりません。 (https://github.com/scrapy/scrapy/blob/master/scrapy/contrib/spiders/feed.py)。より完全なスタックトレースを投稿できますか? –