scrapy由不同的URL进行多次执行

时间:2018-01-24 17:41:36

标签: scrapy

我的第一只蜘蛛有问题。我想在tesco商店中按很多类别处理机器人:

class TescoSpider(scrapy.Spider):
    name = "tescospider2"
    allowed_domains = ["ezakupy.tesco.pl"]
    categories= ['owoce-warzywa', 'nabial-i-jaja','pieczywo-cukiernia']

我可以在start_url字段的末尾使用循环来处理我的字典中所有类别的机器人。

如果我使用这个

categories[3]

它正在工作,但如果我尝试使用

categories[int(y) for y in range(0,2)]

它不起作用。

我不能使用循环引用列表对象,但如果我尝试以这种方式执行它就不起作用:

start_urls =\
["https://ezakupy.tesco.pl/groceries/pl-PL/shop/"+categories[int(y) for y in 
range(0,2)]+"/all?page="+str(x) for x in range(1,2)]
data = []

1 个答案:

答案 0 :(得分:0)

如何构建start_urls的列表推导存在问题。试试这种方式:

start_urls = [
    "https://ezakupy.tesco.pl/groceries/pl-PL/shop/" + categories[y] + "/all?page=" + str(x)
    for y in range(0, 2)
    for x in range(1, 2)
]