Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 获取所有的<;李>;特别是<;部门>;_Html_Web Scraping_Web Crawler_Simple Html Dom - Fatal编程技术网

Html 获取所有的<;李>;特别是<;部门>;

Html 获取所有的<;李>;特别是<;部门>;,html,web-scraping,web-crawler,simple-html-dom,Html,Web Scraping,Web Crawler,Simple Html Dom,我使用Curl获取URL并获取数据。我想要下的数据。但问题是页面上还有其他的和。而且他们没有课程或id。这是我的html代码 <div class="parent" id="parent"> <div class="child"> <div class="grandchild"> <p>Text Paragraph</p> <h2>Heading<

我使用Curl获取URL并获取数据。我想要
  • 下的数据。但问题是页面上还有其他的
  • 。而且他们没有课程或id。这是我的
    html
    代码

    <div class="parent" id="parent">
        <div class="child">
            <div class="grandchild">
                <p>Text Paragraph</p>
                <h2>Heading</h2>
                <ul>
                    <li>Heading Date Text</li>
                    <li>Heading Date Text</li>
                    <li>Heading Date Text</li>
                    <li>Heading Date Text</li>
                    <li>Heading Date Text</li>
                </ul>
                <p>Text</p>
            </div>
        </div>
    </div>
    
    
    文本段落

    标题
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    正文


    只有顶部div具有唯一的
    id

    您可以通过以下方式检索li项:

    foreach ($html->find("#parent li") as $li)
        echo $li->plaintext . "\n";
    

    无需对ULs和LIs进行双重迭代。

    这将为您提供结果

    $html = str_get_html('<div class="parent" id="parent">
    <div class="child">
        <div class="grandchild">
            <p>Text Paragraph</p>
            <h2>Heading</h2>
            <ul>
                <li>Heading Date Text</li>
                <li>Heading Date Text</li>
                <li>Heading Date Text</li>
                <li>Heading Date Text</li>
                <li>Heading Date Text</li>
            </ul>
            <p>Text</p>
        </div>
    </div>
    </div>');
    
    foreach($html->find('div#parent ul') as $ul) 
    {
       foreach($ul->find('li') as $li) 
       {
            echo $li->plaintext."<br>";
       }
    }
    
    $html=str\u get\u html('
    文本段落

    标题
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    • 标题日期文本
    正文

    '); foreach($html->find('div#parent ul')作为$ul) { foreach($ul->find('li')作为$li) { echo$li->纯文本。“
    ”; } }
    太棒了!!但它也展示了其他的
    • 。在问题中,我说页面中还有其他
      • 。因此您只需要在这个div下获取li?这是正确的方法,但您需要按照guna的建议进行迭代。