基于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 批量删除数据的方法分析
Oct 30 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
php中simplexml_load_string使用实例分享
Feb 13 PHP
html静态页面调用php文件的方法
Nov 13 PHP
PHP实现的简单日历类
Nov 29 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
PHP编写简单的App接口
Aug 28 PHP
ThinkPHP实现附件上传功能
Apr 27 PHP
详解php与ethereum客户端交互
Apr 28 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python编程中time模块的一些关键用法解析
2016/01/19 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
Python 在函数上添加包装器
2020/07/28 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python