Чтобы избежать TypeError
, вы можете сделать одно из следующих решений:
- Объединить с элементом списка:
table = response.xpath('*//table')[0:17] + [response.xpath('*//table')[18]]
Используйте append:
table = response.xpath('*//table')[0:17].append(response.xpath('*//table')[18])
Также вы можете заставить работать собственное решение, но это немного грязное решение и переусердствовать. Кстати, вы можете перезвонить своему parse_next()
в parse()
и отправить имя и цена в виде мета-типа:
yield scrapy.Request(url, callback=parse_next, meta={'Name':name, 'Price':price})
Затем выполните остальную работу в parse_next
.