[英]Scrapy — scrappy not returning information from a html tag
我正在尝试抓取网站,我正在抓取scrapy,但是当我抓取html数据,获取任何数据所需的html标签时,我正在使用xpath来获取此标签的数据但这什么也没返回
这个网站(“ http://www.exito.com/products/0000293501259261/Arroz+Fortificado?cid=&page= ”),这是我抓取的HTML的一部分
<div class="pdpInfoProductPrice">
<meta itemprop="currency" content="COP">
<h4 itemprop="price" class="price">
$5.350</h4>
</div>
我需要在标签h4上使用scrapy来获取价格,但是当我只进行获取时,该类为空,该类内没有任何标签。这应该是一件简单的事情,但是我无法获取价格以任何方式
我在页面上使用了一些xpath,因为我可以获得价格
sel.xpath('[@id="plpContent"]/div[3]/div[5]/h4').extract()
sel.xpath('//*[@id="atg_store_two_column_main"]/div[2]').extract()
//*[@id="mainWhiteContent"]/div[2]/div[1]/div[1]/div[1]/div[3]/div[1]/div/h4
尝试使用此xpath:
sel.xpath("//div[@id='mainWhite']/div[@id='mainWhiteContent']/div[@class='row-fluid'][2]/div[@class='span9 widthCarulla']/div[@class='row-fluid']/div[@class='pdpProduct span12']/div[@class='pdpInfoProduct pull-left']/div[@class='pdpInfoProductPrices']/div[@class='pdpInfoProductPrice']/h4[@class='priceOffer']/text()").extract()
在第一个请求中,网页会询问您的地区并将其存储在Cookie中。
您可以通过删除Cookie或使用其他浏览器/专用浏览会话来重现此内容。
要解决此问题,您将必须发送名称为selectedCity
的Cookie和区域代码(例如AR
。 创建请求时,请使用如下所示的内容:
request = Request(
url="http://www.exito.com/products/0000293501259261/Arroz+Fortificado?cid=&page=",
cookies={'selectedCity': 'AR'}
)
对于XPath表达式,我会选择
//div[@class='pdpInfoProductPrice']/h4[@itemprop='price']/text()
还请考虑以下有关匹配HTML类的答案: 使用xpath选择一个CSS类 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.