我尝试这段代码但是它返回了NULL对象!
<?php
ini_set('max_execution_time', 300);
include_once ('Scraper.php');
$scraper = new Scraper();
$pageUrl = 'https://www.zara.com/tr/en/wrap-blouse-with-bow-p04437059.html?v1=6022035&v2=943001';
$pageHtmlContent = $scraper->curl($pageUrl);
$dom=new DOMDocument();
$dom->load($pageHtmlContent);
$xpath=new DOMXPath($dom);
$prise= $xpath->evaluate('(//div[@class=\'._product-price\'])');
var_dump($prise);
?>
我使用selectorGadget来制作XPATH地址。
答案 0 :(得分:0)
抱歉,无法添加评论,不能声誉:(。
你的xpath是incorect,我在给定的url中找不到任何东西。请提供您想要的内容。
编辑以发表评论
要找到确切的div(正如我尝试的那样,在给定的url中只有1个div具有某些类),请使用此xpath (//*[contains(@class,'_product-price')])
。如果您需要该div中的价格,请使用此xpath (//*[contains(@class,'_product-price')]/span)
。如果有超过1个xpath,请使用(//*[contains(@class,'_product-price')]/span)[i]
,其中i
在DOM元素的循环内。
e.g。
dom_elements = [get_dom_elements]
store_value = []
i = 1
while i < len(dom_elements):
xpath = '(//*[contains(@class,'_product-price')]/span)[i]'
store_value.append(some_function_for_getting_value_of_dom(xpath))
i += 1