Dört örümcek içeren bir tarayıcıyı dağıtmaya çalışıyorum. örümceklerden biri XMLFeedSpider kullanır ve kabuk ve scrapyd ince çalışır, ancak diğerleri BaseSpider kullanmak ve tüm scrapyd çalıştırdığınızda bu hatayı verir, ama bu okuduğum kadarıyla kabukScrapy örümceğini çalıştırırken Scrapyd başlangıç hatası
TypeError: init() got an unexpected keyword argument '_job'
ince çalıştırmak örümceklerimde init işleviyle ilgili bir soruna işaret ediyor, ancak sorunu çözemiyorum. Bir init fonksiyonuna ihtiyacım yok ve eğer tamamen kaldırırsam hala hatayı alıyorum!
Benim Örümcek ben örümceğe bir kullanacağım bir başlat işlevini koyabilirsiniz bu
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
gibi görünüyor, ama ben de aynı hatayı alıyorum.
def __init__(self, *args, **kwargs):
super(homeSpider, self).__init__(*args, **kwargs)
pass
Bu neden oluyor ve nasıl çözerim?
Diğer örümceklerde '__init__' yöntemini tanımladınız mı? Sorun şu ki '' kwargs''ı kabul etmiyor olabilirsiniz .. – alecxe
'XMLFeedSpider'' BaseSpider'den çok fazla bir şey yapmaz, bu yüzden bu örümceklerin neden bu hatayı tetikleyeceğini anlamıyorum. (Https://github.com/scrapy/scrapy/blob/master/scrapy/contrib/spiders/feed.py). Daha eksiksiz bir yığın izi gönderir misiniz? –