在不打开页面的情况下获取页面源

时间:2016-01-26 18:17:36

标签: javascript html

我试图获取特定网页的源代码,然后在其中找到一个特殊的<div>

我不想在浏览器中打开网页,因为我所做的事情应该是使用React Native在移动平台上运行(这不是我们关注的)。

如何在不使用vanilla JavaScript(没有jQuery)打开网页的情况下获取页面源?

3 个答案:

答案 0 :(得分:2)

使用vanilla JS:

  var x = new XMLHttpRequest();

  x.onreadystatechange = function(){
    if( x.status === 200 && x.readyState === 4) {
      console.log(x.responseText);
    }
  }

  x.open('GET', '/my/file/at/address.html', true);
  x.send();

这将为您提供address.html的原始文本内容。但是,由于它只是文本,您将无法执行document.querySelector('#mydiv')之类的操作。我会再次推荐一个无头浏览器,具体取决于你想要做什么。

答案 1 :(得分:1)

使用jquery,您可以获得如下数据:

$.get("test.html",function(data){
  console.log(data);
});

答案 2 :(得分:0)

我认为你可以使用 .load()

<table id="example" class="display" cellspacing="0" width="100%">
    <thead>
        <th>ID</th>
        <th>Item Photo</th>
        <th>Item Name</th>
        <th>Stocks</th>
        <th>Date Posted</th>
        <th>Price</th>
        <th>Actions</th>
    </thead>
    <tbody>

    <form action ="<?php echo base_url()?>Shop/test" method="POST">
        <?php
        $x=1;

        foreach($shop_items as $key)
        {
        ?>

        <tr>
            <td><input class="checkbox"  type="checkbox" name="cb[]" value="<?php $key->shop_item_id?>"> <?php echo $x;?> </td>
            <td><center><img src="<?php echo base_url()?>uploads/items_main/<?php echo $key->shop_item_main_pic;?>"  style = "width:60px;height:50px;"alt=""></center></td>
            <td><?php echo mb_strimwidth($key->shop_item_name, 0, 18,"...");?></td>
            <td style="width:10px;"><center><button><span class="fa fa-eye"></span></button></center></td>
            <td><?php echo date('F,d,Y',strtotime($key->shop_item_date_posted))?></td>
            <td><?php if(!$key->shop_item_sale){ echo number_format($key->shop_item_orig_price);}
            else{ echo "<font color='red'>".number_format(intval($key->shop_item_orig_price-($key->shop_item_orig_price*($key->shop_item_sale/100))))."</font> ";}?></td>
            <td>
                <a href="">Bid </a> | <a href=""> View</a>
            </td>
        </tr>
        <?php
            $x+=1; 
        }
        ?>
    <button class='btn btn-danger btn-xs' type="submit" name="delete" value="delete"><span class="fa fa-times"></span> delete</button>

    </form>
    </tbody>

</table>

让#dummy div隐藏:

$("#dummy").load("link");

通过这种方式,您将在div dummy 中加载HTML,然后您可以直接使用而无需解析结果。