Я начал использовать скрап. Я пишу свой код в соответствии с учебником из документации. Когда я запускаю для вывода JSON или CSV, файл выдан пустым. Когда я тестирую свой селектор в оболочке, я получаю данные. Я выложу свой код:
import scrapy
class QuotesSpider(scrapy.Spider):
name = "adororomance"
start_urls = [
'http://www.adororomances.com.br/arromances.php?cod=01',
]
def parse(self, response):
for livro in response.xpath('//*[@id="page_livro_coluna"]'):
yield {
'titulo':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[1]/h1/text()').extract_first(),
'autor(a)':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[2]/span/a/span/h2/text()').extract_first(),
'titulo original':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[3]/text()').extract_first(),
'coleção':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[4]/h3/a/text()').extract_first(),
'publicação':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[4]/div[1]/span[1]/text()').extract_first(),
'ano':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[4]/div[1]/span[2]/text()').extract_first(),
'série':
livro.xpath(
'//*[@id="page_livro_coluna"]/div[4]/div[2]/a/span/text()').extract_first(),
'descrição':
livro.css(
'//*[@id="description"]/text()')
.extract_first(),
}
Тестируя, я обнаружил, что 'descrição'
нарушает код, если я удаляю рендеры json. Когда в оболочке я поставил селектор, я получил:
['\r\n\t\t\t\t \r\n\t\t\t\t Ser sequestrada por um sheik árabe nem passou pela cabeça de Diane, ao visitar o deserto do Saara. Porém, foi o que aconteceu. Khasim ben Haran era um homem poderoso e arrogante, cujo único objetivo, ao fazer dela sua prisioneira, era vingar a morte da mãe. No entanto, esse mesmo homem que a aterrorizava, com ameaças cruéis, também a fascinava. E a figura altiva e exótica não saía da mente de Diane nem por um instante... \r\n \r\n ']
Еще один вопрос: эта строка разрывается \r\n\t
будет отображаться в моем JSON? если да, как я могу от них избавиться?
спасибо