나는 스플래시를 사용하여 스플래시를 학습하고 js 사용 가능 페이지의 결과를 긁어 모으기 위해 거미를 빌드합니다. 내 스파이더가 작동하고 js 페이지에 대한 결과를 반환합니다. 그러나, https://www.zara.com/us/en/bejewelled-appliqu%C3%A9-dress-p07854034.html?v1=4818592&v2=733885스플래시가 결과를 반환하지 않음
xpath used: //*[contains(concat(" ", @class, " "), concat(" ", "_product-price", " "))]//span/text()
위의 XPath는 브라우저에서 결과를 반환하지 않습니다하지만 scrapy를 통해 호출 할 때 결과를 반환하지 않는 링크에서 가격을 반환하지 않습니다. 여기 내 거미는 당신이 사이트에서 가격은 반환되지 않는 이유를 알아내는 데 도움 주실 래요
yield scrapy.Request(url, callback=self.parse_page, dont_filter=True, meta={'splash': {'args': {'wait': 5,},'endpoint': 'render.html',}})
를 호출이야?
감사합니다. //*[contains(concat(" ", @class, " "), concat(" ", "_product-price", " "))]//span/text()
하거나 //*[contains(concat(" ", @class, " ")," _product-price "))]//span/text()
의 XPath @ 클래스 = 술어는 당신이 가지고있는 것과 같은 여러 클래스 (공백으로 구분 클래스)이 작동하지 않습니다 - 당신의 XPath는이
코드 또는 구성 때문인지 여부를 확인하려면 스플래시에서 페이지 결과의 스크린 샷을 찍은 다음 가격을 확인하거나 문서 트리를 확인하십시오. – jabargas
아, 그냥 코드를 살펴 봤는데, 당신의 xpath가 잘못되었다고 생각합니다. – jabargas