У меня проблема, я хочу проанализировать веб-сайт и просканировать ссылки каждой статьи, но проблема в том, что Scrapy не сканирует все ссылки и не сканирует некоторые из них случайное число раз.Parse Document with Scrapy
import scrapy
from tutorial.items import GouvItem
class GouvSpider(scrapy.Spider):
name = "gouv"
allowed_domains = ["legifrance.gouv.fr"]
start_urls = [
"http://www.legifrance.gouv.fr/affichCode.do?cidTexte=LEGITEXT000006069577&dateTexte=20160128"
]
def parse(self, response):
for href in response.xpath('//span/a/@href'):
url = response.urljoin(href.extract())
yield scrapy.Request(url, callback=self.parse_article)
def parse_article(self, response):
for art in response.xpath("//div[@class='corpsArt']"):
item = GouvItem()
item['article'] = art.xpath('p/text()').extract()
yield item
#And this is the GouvItem :
import scrapy
class GouvItem(scrapy.Item):
title1 = scrapy.Field()
title2 = scrapy.Field()
title3 = scrapy.Field()
title4 = scrapy.Field()
title5 = scrapy.Field()
title6 = scrapy.Field()
link = scrapy.Field()
article = scrapy.Field()
Проблема заключается в том, что каждая статья закона должна быть там, и только один раз. На веб-сайте каждая статья появляется только раз.
Большое спасибо!
Пожалуйста, отредактируйте ваше сообщение и вставьте здесь свой код, чтобы люди могли скопировать его в свои редакторы. –
Включите определение для 'GouvItem', тоже –
ну ... Я просто понимаю, что я, если я выполню один и тот же сценарий два раз, оба результата не совпадают ... Я не понимаю, что ... –