Я новичок в области scrapy, поэтому я хочу спросить, как извлечь все данные из ссылки на страницы. Потому что я создал это в своем коде, но он просто извлекает один или два элемента на каждую ссылку, которую я извлекаю. Это мой код:
def parse(self, response):
rules = (
Rule(LinkExtractor(allow='div.listCont:nth-child(2) > ul:nth-child(1)'), callback='parse_details'),
Rule(LinkExtractor(restrict_css='ul > li > a[href*="maker"]'), follow =True),
)
for url in response.xpath('//ul[1]//li/a[contains(@href, "maker")]').css('a::attr(href)').extract():
url = response.urljoin(url)
yield scrapy.Request(url, callback=self.parse_details)
def parse_details(self, response):
yield {
'Name' : response.css('div.itmName h3:nth-child(1) > a:nth-child(1) ::text').extract_first(),
'Price' : response.css('div.itmPrice > a.price ::text').extract_first(),
}
next_page_url = response.css('li.last > a::attr(href)').extract_first()
if next_page_url:
next_page_url = response.urljoin(next_page_url)
yield scrapy.Request(url=next_page_url, callback=self.parse_details)
Когда я рисую, он показывает только одну или две в каждой ссылке, которую я извлекаю. Должен ли я добавить правило в настройке для глубины?