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


Posted in PHP onJuly 30, 2014

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

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

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

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

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

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

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

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

<?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循环数目过大。

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

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

轻轻松松数据入库,下篇文章写关于具体url采集信息的过程。

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
在字符串中把网址改成超级链接
Oct 09 PHP
PHP实现采集程序原理和简单示例代码
Mar 18 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
php入门之连接mysql数据库的一个类
Apr 21 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
destoon数据库表说明汇总
Jul 15 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 #PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 #PHP
PHP伪静态Rewrite设置之APACHE篇
Jul 30 #PHP
PHP return语句的另一个作用
Jul 30 #PHP
php mb_substr()函数截取中文字符串应用示例
Jul 29 #PHP
php CI框架插入一条或多条sql记录示例
Jul 29 #PHP
两种设置php载入页面时编码的方法
Jul 29 #PHP
You might like
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
vue计算属性computed的使用方法示例
2019/03/13 Javascript
微信小程序按钮点击动画效果的实现
2019/09/04 Javascript
python操作xml文件示例
2014/04/07 Python
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
跟老齐学Python之list和str比较
2014/09/20 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
安全生产汇报材料
2014/02/17 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
Django drf请求模块源码解析
2021/06/08 Python
详解Python类和对象内容
2021/06/22 Python
Python制作表白爱心合集
2022/01/22 Python