使用简单HTML DOM从网站截取数据视图值

时间:2016-04-12 09:24:16

标签: php web-scraping simple-html-dom

我可以配置/更改PHP,但不够熟练从头开始编写 - 想知道是否有人可以帮助我吗?

基本上我希望从网站上抓取少量数据,格式为:

<div class="PDPVariantOption" data-value="XYZ" data-variant="ClothingSize">

我希望只提取XYZ位

$html->load($result["body"]);

    $rows = $html->find("div.PDPVariantOption");
    foreach ($rows as $row)
    {
        echo "\t" . $row . "\n";
    }

这是我使用的代码(与http://barebonescms.com/documentation/ultimate_web_scraper_toolkit/结合使用),但这会提取div标签内的所有内容 - 我已尝试使用getAttribute进行各种选项,类似于获取& #34;数据值&#34;价值(纯粹的猜测来自我,我害怕!)但没有运气 - 任何人都可以帮忙吗?

非常感谢提前

乔伊

1 个答案:

答案 0 :(得分:-1)

好的,这是我的完整代码:

$dom = new DOMDocument();
$html = '<div class="PDPVariantOption" data-value="XYZ" data-variant="ClothingSize">
<div class="PDPVariantOption" data-value="BHB" data-variant="ClothingSize">
<div class="differentName">
<div class="PDPVariantOption" data-value="567" data-variant="ClothingSize">
<div class="PDPVariantOption" data-value="123" data-variant="ClothingSize">
<div class="PDPVariantOption" data-value="rty" data-variant="ClothingSize">';

$dom->loadHTML($html);

$finder = new DomXPath($dom);
$result = $finder->query("//*[contains(@class, 'PDPVariantOption')]");

for ($i; $i < $result->length; $i++) {
    $row = $result->item($i)->getAttribute('data-value');
    echo $row . "\n";
}