基于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中for循环语句的几种变型
Nov 26 PHP
php中的数组操作函数整理
Aug 18 PHP
怎样去阅读一份php源代码
Aug 21 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php实现小程序支付完整版
Oct 09 PHP
thinkphp5实现微信扫码支付
Dec 23 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
用缓存实现静态页面的测试
2006/12/06 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
javascript控制台详解
2015/06/25 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
Python中的random()方法的使用介绍
2015/05/15 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
在购买印度民族服饰:Soch
2020/09/15 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
食品流通安全承诺书
2014/05/22 职场文书
工会工作先进事迹
2014/08/18 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
关于CentOS 8 搭建MongoDB4.4分片集群的问题
2021/10/24 MongoDB
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL