如何使用 CURL 解析 html 文件中的内容? [关闭]

Posted

技术标签:

【中文标题】如何使用 CURL 解析 html 文件中的内容? [关闭]【英文标题】:how to parse contents from a html file using CURL? [closed] 【发布时间】:2011-10-13 08:56:24 【问题描述】:

我想使用 CURL 解析 Xhtml 内容。如何在<table> 标签之间废弃交易编号、重量、高度、宽度。如何使用 CURL仅从该 HTML 文档中删除内容并将其作为数组获取

transactions.php

 <table border=0 cellspacing=0 width=100%>
       <tr> 
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr> 
        <td  class="Mellemrubrikker">Transaction Number::</td>
        <td >24752734576547IN</td>
      </tr>
      <tr> 
        <td  class="Mellemrubrikker">Weight:</td>
        <td >0.85 kg</td>
      </tr>
      <tr> 
        <td  class="Mellemrubrikker">Length:</td>
        <td >543 mm.</td>
      </tr>
      <tr> 
        <td  class="Mellemrubrikker">Height:</td>
        <td >156 mm.</td>
      </tr>
      <tr> 
        <td  class="Mellemrubrikker">Width:</td>
        <td >61 mm.</td>
      </tr>
      <tr> 
         <td colspan="2">&nbsp;</td>
      </tr>    
    </table>

index.php

<?php
$url = "http://localhost/htmlparse/transactions.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
//print_r($output);
echo $output;
?>

此代码从 transactions.php 获取整个 html 内容。如何获取&lt;table&gt;之间的数据作为数组值?

【问题讨论】:

这不是一个为我工作的网站。您尝试了什么,什么没有达到您的预期? 是的,我尝试使用 curl,但我不熟悉 preg_match。 关于使用正则表达式解析 HTML,见"RegEx match open tags except XHTML self-contained tags"。 感谢您的提问!然而,这并不是 Stack Overflow 真正要回答的问题。 Read this for more information一旦您对正在编写的代码遇到的特定问题提出特定问题,请随时返回。 @Andrew Barber:嗨,我添加了用于解析 html 的 curl 代码。它从文件中检索带有标签的全部内容。我只想获取数据。如何将其作为数组结果检索? 【参考方案1】:

从http://simplehtmldom.sourceforge.net/尝试简单的html dom

如果你不介意使用 python 或 perl,你可以使用 beautifulsoup 或 WWW-Mechanize

【讨论】:

来到这里提出同样的建议。 :)【参考方案2】:

我会使用文档对象模型,而不是编写自己的解析代码或(上帝保佑!)正则表达式。

这是一个 PHP 示例:PHP Parse HTML code

【讨论】:

以上是关于如何使用 CURL 解析 html 文件中的内容? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

php如何获取远程文件内容的函数

如何使用 cURL 将文件内容作为正文实体发送

如何使用curl使用php上传文件[关闭]

如何编写一个shell脚本

PB如何解析XML文件

如何使用 cURL 从数组中保存 html 文件?