N次元网络 2013-09-25 11:46 采纳率: 0%
浏览 893

如何抓取的·网页制定内容

如何使用js或者php抓取网页的制定元素的,制定内容?
比如有很多的

标签,我想抓取特定的,要求通过父元素的标签或class,在定位到制定的

如何写?

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-20 12:03
    关注

    该回答引用ChatGPT

    使用 JavaScript 或 PHP 可以通过 DOM 操作获取指定元素。


    下面是使用 JavaScript 获取指定元素的例子:

    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的网页</h1>
    
    <div class="container">
      <h2>欢迎来到我的网页</h2>
      <p>这是一些文本。</p>
      <p>这是另一些文本。</p>
    </div>
    
    <script>
      // 获取包含 class 为 container 的 div 元素
      var container = document.querySelector('.container');
    
      // 获取 container 元素下的第二个 p 元素
      var secondP = container.querySelector('p:nth-of-type(2)');
    
      // 获取 secondP 元素的文本内容
      var secondPText = secondP.textContent;
    
      // 打印 secondP 元素的文本内容
      console.log(secondPText);
    </script>
    
    </body>
    </html>
    

    在上面的例子中,使用 querySelector 方法获取包含 class 为 container 的 div 元素,然后使用 querySelector 方法获取该元素下的第二个 p 元素,并获取该元素的文本内容。


    如果要通过父元素的标签或 class 定位到指定的元素,可以使用 querySelector 或 querySelectorAll 方法,并指定相应的选择器。


    下面是使用 PHP 获取指定元素的例子:

    <?php
    $html = file_get_contents('http://example.com');
    
    // 创建 DOM 对象
    $dom = new DOMDocument;
    $dom->loadHTML($html);
    
    // 获取包含 class 为 container 的 div 元素
    $container = $dom->getElementByClassName('container');
    
    // 获取 container 元素下的第二个 p 元素
    $secondP = $container->getElementsByTagName('p')[1];
    
    // 获取 secondP 元素的文本内容
    $secondPText = $secondP->nodeValue;
    
    // 打印 secondP 元素的文本内容
    echo $secondPText;
    ?>
    

    在上面的例子中,使用 file_get_contents 函数获取指定网页的 HTML 内容,然后使用 DOMDocument 类创建 DOM 对象,并使用 getElementByClassName 方法获取包含 class 为 container 的 div 元素,然后使用 getElementsByTagName 方法获取该元素下的第二个 p 元素,并获取该元素的文本内容。

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛