我正在使用Scrapy解析一个网站。这是一个产品link。你知道吗
我试图提取产品价格的XPath是:
sel.xpath ('//div[@class="product-price"]/input/div[@id="product_price"]/text()').extract()
sel.xpath ('//div[@id="product_price"]/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div[@class="product-price"]/input/div[@id="product_price"]/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div/input/div[@id="product_price"]/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div/input/div/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div/div/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div//div/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div[2]/text()').extract()
sel.xpath ('//div[@class="product-size-qua-info"]/div[2]//text()').extract()
sel.xpath ('//div[@id="product_price"]//text()').extract()
他们都不工作。有些只是随机的尝试。你知道吗
从url中提取产品价格的正确xpath是什么。?你知道吗
从外观上看,定价总是包含在id=product\u price的单个div中。你知道吗
它看起来也写得很好,在产品页面上没有重复的id=product\u price
因此,您只需使用:
你试过的时候发生了什么选择xpath('//div[@id=“product\u price”]/text()').extract()?这应该是正确的模式,唯一的区别是我切换了单引号和双引号。你知道吗
这似乎是一个微不足道的变化,但请尝试:
这里的问题是价格和大小由javascript函数检索。这就解释了为什么在响应中看不到它,而在浏览器的DOM中看到它。这不是一个具体的问题。你知道吗
由于该网站严重依赖javascript,因此请浏览页面代码源代码,而不是使用firebug或chrome开发工具检查元素。虽然用scrapy解析这个网站是完全可行的(而且效率更高),但是您可以使用支持javascript的Selenium。你知道吗
要获得价格和大小,您必须执行两个额外的POST请求
http://www.goodearth.in/Wishlist.ashx,具有以下参数:
尺寸: ACTION=CheckInventoryforSizes&;ProductID=2060&;VariantID=2060&;Sizes=&;ChosenColor=FFFFFF-Multi&;isProductDetails=true
价格: ACTION=GetProductPrice&;ProductID=2060&;VariantID=2060&;ChosenSize=&;ChosenColor=FFFFFF-Multi&;View=productdetail
相关问题 更多 >
编程相关推荐