解析外部网站表

Mic*_*ael 0 html php parsing dom web-scraping

有一个日历:http : //www.friendsbalt.org/upper/stulife/calendar.asp一个静态表形式的,我想让服务器抓取并逐行解析表。这可能吗?您将如何以最有效的方式做到这一点?代码示例会很棒。

Sha*_*dow 7

如果您希望它由网页完成,您可以使用类似Simple HTML DOM for php 的东西。

require "simple_html_dom.php"; //Get this file from the link above
$html = file_get_html("http://example.com");
$data = array();
foreach($html->find("table tr") as $tr){
    $row = array();
    foreach($tr->find("td") as $td){
        /* enter code here */
        $row[] = $td->plaintext;
    }
    $data[] = $row;
}
Run Code Online (Sandbox Code Playgroud)

然后所有数据都将在 $data 变量中。

var_dump($data); //To prove it works.
Run Code Online (Sandbox Code Playgroud)

我会考虑将其放入“刷新”脚本中,并将所有信息保存到数据库中。然后你可以从数据库中获取信息——这几乎是即时的。

然后,如果您愿意,您可以制作一个 cron 脚本,让它自己每小时运行一次 - 更新数据库,使其中的信息保持最新。

这真的取决于你想用它做什么:)