Каждая вкладка загружает отдельную страницу / URL. Я думаю, вы подумали, так как это было вкладка, это была та же страница. Таким образом, вам придется собрать необходимые данные с первой страницы, запросить данные на 2-й странице и запросить 3-ю страницу. Вы сохраняете данные с предыдущей страницы, передавая элемент в метаатрибутах. Вот как бы я это сделал. Обратите внимание, что код для ссылок правильный, вам нужно будет сделать селекторы для точек данных на каждой странице.
def profile(self, response):
item = {}
item["field1"] = response.xpath('//xpath').get()
# Get first link for reviews
review_link = response.css('#reviews_tab a::attr(href)').get()
yield scrapy.Request(response.urljoin(review_link), callback=self.parse_reviews, meta={'item': item})
def parse_reviews(self, response):
item = response.meta['item']
item["field2"] = response.xpath
directions_link = response.css('#directions_tab a:attr(href)').get()
yield scrapy.Request(response.urljoin(directions_link), callback=self.parse_directions, meta={'item': item})
def parse_directions(self, response):
item = response.meta['item']
item['directions'] = response.xpath
yield item