爲幻想團隊創建一個刮板。尋找一種方法來傳遞玩家名稱列表作爲參數,然後對於player_list中的每個player_name運行解析代碼。Scrapy:如何通過命令提示符將參數列表傳遞給蜘蛛?
我現在有這樣的事情
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
我假設輸入的參數列表是相同的通過命令行只是一個參數,因此我進入這樣的事情:
scrapy crawl statsspider -a player_list=['xyz','abc']
問題2!
通過輸入一個逗號分隔的參數列表,像這樣
scrapy crawl statsspider -a player_list="abc def,ghi jkl"
我現在想通過每一個「名稱」解決的第一個問題(即「ABC DEF」)找到的第一個初步的姓氏(在這種情況下是'd')。
我使用的代碼
array = []
for player_name in self.player_list:
array.append(player_name)
print array
而我最終的結果[ 「'」, 'A', 'B', 'C',...等]爲什麼不蟒將player_name分配給每個'名字'(例如'abc def'和'ghi jkl')?有人可以向我解釋這個邏輯嗎,我可能會理解事後做正確的做法!
只是給它一個嘗試,它並沒有給Ubuntu上的錯誤,scrapy版本0.18.4,你運行的是什麼版本? –
我意識到我通過命令行錯誤地傳遞了參數。請參閱下面的@kev答案!但現在我堅持一個新問題 –