基于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 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
PHP的面试题集
Nov 19 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 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 数学运算验证码实现代码
2009/10/11 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
学习jquery之一
2007/04/27 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python3访问并下载网页内容的方法
2015/07/28 Python
对python3新增的byte类型详解
2018/12/04 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
深入了解NumPy 高级索引
2020/07/24 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
财务信息服务专业自荐书范文
2014/02/08 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang