基于PHP的简单采集数据入库程序

说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示

也算是简单"小偷程序"的加强版吧

下面是对应核心代码(别拿去做坏事哦^_^)

所要采集的内容是某游戏网站上的公告,如下图:



可先利用file_get_contents和简单正则获取基本页面信息



整理下基本信息,采集入库:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
   include_once ( "conn.php" );
 
 
    if ( $_GET [ 'id' ]<=8&& $_GET [ 'id' ]){
      $id = $_GET [ 'id' ];
     $conn = file_get_contents ( "http://www.93moli.com/news_list_4_$id.html" );//获取页面内容
   
   $pattern = "/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs" ; //正则
 
   preg_match_all( $pattern , $conn , $arr ); //匹配内容到arr数组
 
   //print_r($arr);die;
   
   foreach ( $arr [1] as $key => $value ) { //二维数组[2]对应id和[1]刚好一样,利用起key
     $url = "http://www.93moli.com/" . $arr [2][ $key ];
     $sql = "insert into list(title,url) value ('$value', '$url')" ;
     mysql_query( $sql );
 
     //echo "<a href='content.php?url=http://www.93moli.com/$url'>$value</a>"."<br/>"; 
   }
    $id ++;
    echo "正在采集URL数据列表$id...请稍后..." ;
    echo "<script>window.location='list.php?id=$id'</script>" ;
 
  } else {
    echo "采集数据结束。" ;
  }
 
?>

conn.php是数据库连接文件

list.php是本页面

由于要采集的数据是分页显示的,且页面地址是规律递增,所以我用了js跳转代码,利用id传值控制采集的页数,也避免了for循环数目过大。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值