Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 如何使用curl或macro获取html表的全部数据_Php_Html_Excel_Curl - Fatal编程技术网

Php 如何使用curl或macro获取html表的全部数据

Php 如何使用curl或macro获取html表的全部数据,php,html,excel,curl,Php,Html,Excel,Curl,我尝试过这段代码,但这只给了我超链接值,但我想从表中提取所有数据。我的HTML表格包含1514行和7列以及分页,其中包含125个要显示的页面。如何从表中获取所有数据,而不仅仅是超链接 <?php $ch=curl_init('https://datatables.net/examples/basic_init/alt_pagination.html'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $page = cu

我尝试过这段代码,但这只给了我超链接值,但我想从表中提取所有数据。我的HTML表格包含1514行和7列以及分页,其中包含125个要显示的页面。如何从表中获取所有数据,而不仅仅是超链接

  <?php
$ch=curl_init('https://datatables.net/examples/basic_init/alt_pagination.html');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $page = curl_exec($ch);

    preg_match('#<table[^>]*>(.+?)</table>#is', $page, $matches);
    foreach ($matches as &$match) {
         $match = $match;

    }
    echo '<table>';
        echo $matches[0];
    echo '</table>';
    ?>

正如我前面所说,如果使用简单的html dom,则没有问题:

<?php
include('simple_html_dom.php');
$html = file_get_html('https://datatables.net/examples/basic_init/alt_pagination.html');
$tr = $html->find('table[id=example] tr');
foreach ($tr as $row)
{
    foreach ($row->find('td') as $td)
    {
        echo $td->plaintext.'<br/>';
    }
    echo '<hr/>';
}

如果您使用simple\u html\u dom或DOMDocument之类的库,您将更容易获得表格数据,而不是正文或段落。表中包含许多页面来显示这些数据,因为数据量很大。当然,你们有非常好的手册:抱歉@Daimos,我已经处理过了。但是这个链接对我没有帮助。我无法提取数据。我已对此进行了检查。这给了我空页面下载simple_html_dom库,包括它(只有simple_html_dom.php文件),你从我的评论中得到了链接我有包括simple_html_dom库和放置错误报告(E_ALL);在开头,但数据未显示在页面上。显示的页面仍然为空。请查找错误报告主题。也许可以试试“试试{}抓{}”。我的代码工作得很好,你的代码工作得很好,我已经完成了。但这对我没有多大帮助,因为我想登录网页,然后获取数据。