Я анализирую два списка URL-адресов, причем последние заполняются с первого.Я могу получить все необходимые URL-адреса, но у меня возникают проблемы при извлечении данных из последнего списка URL-адресов.Я могу получить только данные одного URL
. Я пытался использовать scrapy.Request, response.follow, оператор While, но получаю ответ только по одному URL.Я новичок в scrapy / python и не знаю, как решить эту проблему.
import scrapy
class DBSpider(scrapy.Spider):
name = "Scrape"
allowed_domains = ["192.168.3.137"]
start_urls = [
'http://192.168.3.137/api/?controller_id=' + str(x)
for x in range(0,8)
]
def parse(self, response):
for sites in response.xpath('//*
[@id="siteslist"]//li/a/@href').extract():
yield response.follow(sites, self.parse_sites)
def parse_sites(self, response):
for device_pages in response.xpath('//*
[@id="list_devices"]/a/@href').extract():
yield scrapy.Request(response.urljoin(device_pages),
self.parse_macs)
def parse_macs(self, response):
print response.url #only gets one response url
parse_mac вывести только один URL-адрес ответа.должно быть эквивалентно количеству URL в цикле devices_pages в parse_sites def