基于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 错误之引号中使用变量
May 04 PHP
php连接数据库代码应用分析
May 29 PHP
php牛逼的面试题分享
Jan 18 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
php分页函数完整实例代码
Sep 22 PHP
php中文字符串截取方法实例总结
Sep 30 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
php bootstrap实现简单登录
Mar 08 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
thinkphp5实现无限级分类
Feb 18 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 mssql 数据库分页SQL语句
2008/12/16 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
React 组件间的通信示例
2018/06/14 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
一则python3的简单爬虫代码
2014/05/26 Python
Python 的 with 语句详解
2014/06/13 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python实现外卖信息管理系统
2018/01/11 Python
Python使用wxPython实现计算器
2018/01/30 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
python dataframe NaN处理方式
2019/12/26 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
python mysql中in参数化说明
2020/06/05 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
python用700行代码实现http客户端
2021/01/14 Python
个人委托书
2014/07/31 职场文书
组工干部对照检查材料
2014/08/25 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL