文章来源:https://www.cnblogs.com/feiwu123/p/5531432.html

    逻辑:把网页代码读到字符串中,通过正则表达式筛选出指定的数据,然后变成二维数组,插入到数据库里。

    1. <?php
    2. public function spider_j($page)
    3. {
    4. $url="http://aaa/bbb".$page."_0/";
    5. $fcontents=file_get_contents($url);
    6. $table_data = preg_match_all('#<table>(.*?)</table>#si',$fcontents,$match);
    7. $table_data = $match[0][0];
    8. $table_array = explode('<tr>',$table_data);
    9. $data = array();
    10. for($i=2;$i<count($table_array);$i++){
    11. $data[$i] = explode('</td>',$table_array[$i]);
    12. for($j = 0;$j<count($data[$i]);$j++){
    13. $data[$i][$j] = preg_replace('/\s(?=\s)/','',trim(strip_tags($data[$i][$j])));
    14. }
    15. $data[$i][6] = date('Y-m-d');
    16. }
    17. $kname = array('ID', 'GAMENAME', 'GATEGORY','BETA', 'DATA', 'DOWNLOAD','THEDATE');
    18. foreach($data as $key=>&$val){
    19. $val = array_combine($kname,$val);
    20. }
    21. for($i=2;$i<(count($data)+2);$i++){
    22. $this->db06->insert('TBL_J',$data[$i]);
    23. }
    24. }
    25. public function spider()
    26. {
    27. for($i=1;$i<11;$i++){
    28. $this->spider_j($i);
    29. }
    30. }