Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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
Php 遍历HTMLDOM-删除HTML链接_Php_Html_Dom_Web Scraping_Domparser - Fatal编程技术网

Php 遍历HTMLDOM-删除HTML链接

Php 遍历HTMLDOM-删除HTML链接,php,html,dom,web-scraping,domparser,Php,Html,Dom,Web Scraping,Domparser,我正在尝试遍历HTML URL链接,但找不到更好的方法。我提到过许多库,比如简单的php DOM解析器和Symony crowler。但是我不能很容易地适应我的问题 我想从一个网站上抓取一些酒店数据并保存到数据库中。HTML格式如下 <ol class="listings infinite-scroll-enabled"> <li class="hotel sponsored" data-info="1|108447|Dual|

我正在尝试遍历HTML URL链接,但找不到更好的方法。我提到过许多库,比如简单的php DOM解析器和Symony crowler。但是我不能很容易地适应我的问题

我想从一个网站上抓取一些酒店数据并保存到数据库中。HTML格式如下

<ol class="listings infinite-scroll-enabled">
<li class="hotel sponsored" data-info="1|108447|Dual|MERCHANT||" data-pimms="AP57" data-title="Ramada Shreveport Airport" data-hotel-id="108447" data-accommodation-type="_ACC_TYPE_NAME@Hotel">
    <h1>hotel name</h1>
    <p>price</p>
    <div class="dcription">
        <p>Distance</p>
    </div>
 <li>
 <li class="hotel sponsored" data-info="1|108447|Dual|MERCHANT||" data-pimms="AP57" data-title="Ramada Shreveport Airport" data-hotel-id="108447" data-accommodation-type="_ACC_TYPE_NAME@Hotel">
    <h1>hotel name</h1>
    <p>price</p>
    <div class="dcription">
        <p>Distance</p>
    </div>
 <li>
 
 ..... etc
 <ol>

  • 酒店名称 价格

    距离

  • 酒店名称 价格

    距离

  • ..... 等
  • 实际上,我想将
  • 标记中的所有列表细节作为一个循环,并获取所有细节,如酒店名称、描述、距离

    所以我使用了下面的查询,可以得到
  • 标记的循环,但我可以再次遍历它,并为每个循环获得单独的值

    <?php
    
     require 'sim/simple_html_dom.php'; 
    
    $html = new simple_html_dom();
    $url = "https://www.hotels.com/search.do?resolved-location=CITY%3A1505671%3AUNKNOWN%3AUNKNOWN&destination-id=1505671&q-destination=Shreveport,%20Louisiana,%20United%20States%20of%20America&q-check-in=2017-07-09&q-check-out=2017-07-10&q-rooms=1&q-room-0-adults=2&q-room-0-children=0";
    
    // Load a file
    $html->load_file($url);
    
    $element = $html->find('ol > li');
    
    foreach($element as $listItem){
        $listItem = $listItem->find('h3');
        
        echo $listItem->innertext;
    }
    

    最好的方法是什么。。。你的方法有什么问题吗?Hi@ad_on_是,现在通过这种方式,我将
  • html作为一个内部文本作为追随者
  • 酒店名称价格距离
  • 。但是我如何再次遍历并分离
  • 标记中的所有值呢。