Я пытаюсь собрать все стихи из категории "generalndice general alfabético" на этом сайте http://amediavoz.com/. Там появляется название стихов, на которые нужно кликнуть, чтобы перейти к самим стихам. В основном я хочу скопировать весь текст каждого стиха с каждой из этих страниц (текст в <p></p>
в xpath "/ html / body / blockquote [2] / blockquote" на каждой из страниц), за исключением заключительной информации о стихотворение под <i></i>
в коде HTML. Я хотел бы сохранить все в .txt файлах, один большой или один на страницу.
Этот код является попыткой сделать это.
import scrapy
class FirstSpider(scrapy.Spider):
name = "FirstSpider"
start_urls = ['http://amediavoz.com/']
def start_requests(self):
url = ['http://amediavoz.com/']
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
xp = "//a[@target='_blank']/@href"
for url in response.xpath(xp).extract():
page = response.url.split("/")[-2]
filename = 'Poems=%s.txt' % page
sub = url.css('blockquote')[1]
with open(filename, 'wb') as f:
f.write(sub.xpath('//font/text()').extract())
self.log('Saved file %s' % filename)
f.close()
Когда я запускаю код, я не получаю никакого сообщения об ошибке, но также не получаю никакого вывода, то есть текстовый файл.
Любая помощь приветствуется.