创建一个用于幻想团队的爬虫。寻找一种方法将球员名称列表作为参数传递,并在player_list中的每个player_name上运行解析代码。
我目前有类似以下的东西
我现在想要遍历每个“name”(即“abc def”),以查找他们姓氏的首字母(在本例中为“d”)。
我使用以下代码:
我目前有类似以下的东西
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"
我现在想要遍历每个“name”(即“abc def”),以查找他们姓氏的首字母(在本例中为“d”)。
我使用以下代码:
array = []
for player_name in self.player_list:
array.append(player_name)
print array
我最终得到了结果[["'",'a','b','c',... etc]],为什么Python没有将player_name分配给每个“name”(例如“abc def”和“ghi jkl”)? 有人能解释一下这个逻辑,然后我可能会明白正确的做法!