我正在尝试抓取一个网站,我正在使用刮擦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
答案 0 :(得分:0)
尝试使用此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()
答案 1 :(得分:0)
在第一个请求中,网页会询问您所在的地区并将其存储在Cookie中。
Example dialog http://images.jenserat.de/2014-04-23_0903.png
您可以通过删除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类考虑在内:Selecting a css class with xpath。