फंतासी टीम के लिए एक स्क्रैपर बनाना। तर्क के रूप में खिलाड़ियों के नामों की एक सूची पास करने का एक तरीका ढूंढ रहे हैं, और फिर player_list में प्रत्येक खिलाड़ी_नाम के लिए पार्सिंग कोड चलाएं।स्केपर: मकड़ी के लिए कमांड प्रॉम्प्ट के माध्यम से तर्कों की सूची कैसे पास करें?
scrapy crawl statsspider -a player_list=['xyz','abc']
:
मैं इस समय इस
class statsspider(BaseSpider):
name = 'statsspider'
def __init__ (self, domain=None, player_list=""):
self.allowed_domains = ['sports.yahoo.com']
self.start_urls = [
'http://sports.yahoo.com/nba/players',
]
self.player_list= "%s" % player_list
def parse(self, response):
example code
yield request
मैं तर्कों की सूची में प्रवेश कर रहा हूँ यह सोचते हैं की तरह कुछ कमांड लाइन के माध्यम से सिर्फ एक तर्क के रूप में एक ही है तो मैं कुछ इस तरह दर्ज है
समस्या 2!
की तरह तो
scrapy crawl statsspider -a player_list="abc def,ghi jkl"
मैं अब प्रत्येक "नाम" के माध्यम से जाना चाहते हैं तर्कों की एक अल्पविराम सीमांकित सूची inputting द्वारा पहला मुद्दा हल (यानी 'एबीसी डीईएफ़') के पहले प्रारंभिक खोजने के लिए अपने अंतिम नाम (इस मामले में 'डी')।
मैं कोड
array = []
for player_name in self.player_list:
array.append(player_name)
print array
और मैं परिणाम के साथ समाप्त का उपयोग [[ " '",' एक ',' बी ',' सी ', ... आदि]] क्यों अजगर नहीं है प्रत्येक 'नाम' (जैसे 'abc def' और 'ghi jkl') के लिए player_name असाइन करें? क्या कोई मुझे इस तर्क को समझा सकता है, और मैं शायद बाद में इसे करने का सही तरीका समझूंगा!
बस इसे एक कोशिश है, यह Ubuntu पर त्रुटि नहीं देता है, scrapy संस्करण 0.18.4 दिया था, कौन-सा संस्करण आप चल रहे हैं ? –
मुझे एहसास हुआ कि मैं कमांड लाइन के माध्यम से गलत तर्क पारित कर रहा था। नीचे @kev उत्तर देखें! लेकिन अब मैं एक नए मुद्दे के साथ अटक गया हूँ –