繁体   English   中英

使用Simple_HTML_Dom.php从网站上抓取数据

[英]Scrape data from website using Simple_HTML_Dom.php

使用simple_html_dom.php ,我试图从朋友的网站上抓取可用大小。 不幸的是,由于无法理解正确的选择阈值,我无法成功提取单个大小的样本。

在下面的示例中,我想提取“ 110”,因为它是唯一可用的大小。 我尝试提取标签,但是我想我必须包括下一个标准,该标准应该是element_id的值:“ for”-以“ attribute 6”开头。任何帮助将不胜感激。

<div id="sizeSelector" class="cf">
  <div class="titleHeader cf">
    <p class="text">
      <h2>Choose a Size</h2>
      <h2 id="print-size" style="display:none;">Sizes available</h2>
      <label for="attribute76">
         <input id="attribute76" class="jshide" type="radio" value="76" name="super_attribute[144]">
110
      </label>
   </div>
</div>

您可以遍历标签并检查输入是否被禁用:

foreach ($html->find('#sizeSelector label') as $e)
{   if ( $e->find('input[disabled]') )
    {   // $e is the <label> element, $e->plaintext gets the text content
        echo "Input " . $e->plaintext . " is disabled.\n";
    }
    else
    {   echo "Input " . $e->plaintext . " is enabled.\n";
    }
}

不幸的是,尝试选择未禁用类find('label[class!=disabled]') ,使用find('label[class!=disabled]')似乎会自动关闭所有没有类的标签。 您可以查询不带类find('label[!class]') ,但可能会排除具有其他类的标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM