php 采集新闻网站示例

function site() {

        ini_set('memory_limit', '512M');

        ini_set('max_execution_time', 360);

        // phpinfo();

        $connect = mysql_connect('localhost', 'root', '123456') or die('Not connected : ' . mysql_error());

        

        // make foo the current db

        mysql_select_db('crawl', $connect) or die('Can\'t use foo : ' . mysql_error());

        

        

        $site_url = 'http://itjuzi.com/investfirm';

        for($i = 313; $i>0; $i--) {

            if($i%10==0){

                sleep(5);

            }

            echo 'page = ' . $i . '<br/>';

            $data = file_get_contents($site_url . '?page=' . $i);

            preg_match_all('/(detail-info\"\>[(\s\S)]*<li>)(.*)(<\/li>[(\s\S)]*<\/ul>)/Uis', $data, $matches, PREG_PATTERN_ORDER);

            if(!isset($matches[0]) || !$matches[0]) {

                echo 'current page. ' . $page . ' , finished';

                exit();

            }

            foreach($matches[0] as $key => $val) {

                $val = str_replace('detail-info">', '', $val);

                $val = str_replace('</ul>', '', $val);

                preg_match_all('/<li>(.*)<\/li>/iUs', $val, $_matches, PREG_PATTERN_ORDER);

                $arr = array();

                foreach($_matches[1] as $items) {

                    $field = preg_replace('/名称: |网址: |阶段: |领域: |介绍: /', '', strip_tags($items));

                    array_push($arr, $field);

                   

                }

                $mdata = array(

                    'name' => $arr[0],

                    'site' => $arr[1],

                    'stage' => $arr[2],

                    'scopes' => $arr[3],

                    'description' => $arr[4] 

                );

        

                $_mdata = array_keys($mdata);

                

                $sql = 'insert into `crawl` (`' . implode('`,`', $_mdata) . '`) VALUES (\'' . implode('\',\'', $mdata) . '\')';

                mysql_query('set names utf8');

                $result = mysql_query($sql);

                echo $sql;

                echo '<br/>';

            }

            

            var_dump($result);

            

            //echo $sql;

        }

        exit();

        //dump($data);

    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值