Я новичок в Scrapy, и я работаю над упражнением по очистке, и я использую CrawlSpider. Хотя структура Scrapy работает красиво и соответствует соответствующим ссылкам, я не могу заставить CrawlSpider очистить самую первую ссылку (домашняя страница/целевая страница). Вместо этого он идет прямо, чтобы очистить ссылки, определенные правилом, но не очищает целевую страницу, на которой находятся ссылки. Я не знаю, как это исправить, так как не рекомендуется перезаписывать метод анализа для CrawlSpider. Модификация follow = True/False также не дает никаких хороших результатов. Вот фрагмент кода:
class DownloadSpider(CrawlSpider):
name = 'downloader'
allowed_domains = ['bnt-chemicals.de']
start_urls = [
"http://www.bnt-chemicals.de"
]
rules = (
Rule(SgmlLinkExtractor(aloow='prod'), callback='parse_item', follow=True),
)
fname = 1
def parse_item(self, response):
open(str(self.fname)+ '.txt', 'a').write(response.url)
open(str(self.fname)+ '.txt', 'a').write(','+ str(response.meta['depth']))
open(str(self.fname)+ '.txt', 'a').write('\n')
open(str(self.fname)+ '.txt', 'a').write(response.body)
open(str(self.fname)+ '.txt', 'a').write('\n')
self.fname = self.fname + 1