自动将表上载到数据库

时间:2015-09-19 08:49:32

标签: php mysql web-scraping

如何从page中的表格自动上传到数据库数据?我可以使用他们的功能" export"然后手动下载.csv文件,并上传它,但如果我每天都想要每个游戏的数据,那就太痛苦了......你认为它可以实现自动化吗?唯一的解决办法就是抓住他们的网站?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用PHP的cURL库。

这里有一个例子:

<?php
    $ch = curl_init();
    $timeout = 0; // set to zero for no timeout
    $url = 'http://www.basketball-reference.com/boxscores/201506160CLE.html'; // set the page url
    curl_setopt ($ch, CURLOPT_URL, $url);//enter your url here
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch); //get the page contents
    include "simple_html_dom.php";
    $table = $file_contents;
    $html = str_get_html($table);
    $printing = false;
    //header('Content-type: application/ms-excel');
    $fp = fopen("php://output", "w");
    foreach($html->find('tr') as $element){
        $arr = array();
        foreach ($element->find('tr') as $element2) {
                    if(!$printing)
                        $printing = strpos($element2,'Scoring') !== false;
                    if($printing){
                        //echo $element2 -> plaintext . "<br>";
                        $arr[] = $element2 -> plaintext; //comment here
                    }

        }
        fputcsv($fp, $arr);
        }

        fclose($fp);
    ?>

您必须从here下载文件。 你在你的页面中得到一个text / csv文件,如果你喜欢它是足够的切换注释(请求注释行并退出其他文件)

您可以根据需要解析新的csv