Пожалуйста, используйте более явный заголовок, чтобы помочь другим людям, которые могут иметь те же проблемы; «мусор» - очень расплывчатое слово.
Более подробную информацию об атрибуте meta
вы можете найти в документации Scrapy здесь
Дикт, содержащий произвольные метаданные для этого запроса. Это дикт
пуст для новых запросов и обычно заполняется разными
Scrapy компоненты (расширения, промежуточное программное обеспечение и т. Д.). Итак, данные
содержащиеся в этой инструкции зависят от включенных вами расширений.
Если вы не хотите, чтобы вся эта информация заполнялась Scrapy в вашем json, вы можете сделать следующее:
def parse(self, response):
for tfg in response.css('li.row-fluid'):
doc={}
data = tfg.css('book-basics')
doc['titulo'] = tfg.css('h2 a::text').extract_first()
doc['url'] = response.urljoin(tfg.css('h2 a::attr(href)').extract_first())
request = scrapy.Request(doc['url'], callback=self.parse_detail)
request.meta['detail'] = doc
yield request
next = response.css('a.next::attr(href)').extract_first()
if next is not None:
next_page = response.urljoin(next)
yield scrapy.Request(next_page, callback=self.parse)
def parse_detail(self, response):
detail = response.meta['detail']
detail['page_count'] = ' '.join(response.css('dd.page.count::text').extract())
detail['keywords'] = ' '.join(response.css('div.descripcio a::text').extract())
yield detail