基于PHP的简单采集数据入库程序
2015-01-24信息快讯网
前几天有一朋友要我帮做一个采集新闻信息的程序,抽了点时间写了个PHP版本的,随笔记录下。
说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示
也算是简单"小偷程序"的加强版吧
下面是对应核心代码(别拿去做坏事哦^_^)
所要采集的内容是某游戏网站上的公告,如下图:
可先利用file_get_contents和简单正则获取基本页面信息
整理下基本信息,采集入库:
<?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循环数目过大。
轻轻松松数据入库,下篇文章写关于具体url采集信息的过程。
php将textarea数据提交到mysql出现很多空格的解决方法
thinkphp中session和cookie无效的解决方法
thinkphp3.0输出重复两次的解决方法
thinkphp3.2.2实现生成多张缩略图的方法
9个经典的PHP代码片段分享
ThinkPHP中使用ajax接收json数据的方法
php判断文件上传类型及过滤不安全数据的方法
php批量添加数据与批量更新数据的实现方法
php中最简单的字符串匹配算法
php实现可用于mysql,mssql,pg数据库操作类
一款简单实用的php操作mysql数据库类
简单实用的PHP防注入类实例
PHP实现的简单日历类
smarty简单入门实例
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
PHP实现采集中国天气网未来7天天气
基于PHP的简单采集数据入库程序【续篇】
PHP中设置一个严格30分钟过期Session面试题的4种答案
PHP使用Session遇到的一个Permission denied Notice解决办法
PHP伪静态Rewrite设置之APACHE篇
PHP return语句的另一个作用
php mb_substr()函数截取中文字符串应用示例
PHP使用CURL_MULTI实现多线程采集的例子
php中单个数据库字段多列显示(单字段分页、横向输出)
PHP判断文章里是否有图片的简单方法
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
php实现斐波那契数列的简单写法
PHP简单实现“相关文章推荐”功能的方法
简单实用的网站PHP缓存类实例
destoon数据库表说明汇总
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
PHP远程采集图片详细教程
php 无限级分类,超级简单的无限级分类,支持输出树状图
PHP采集类snoopy详细介绍(snoopy使用教程)
PHP采集类Snoopy抓取图片实例
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
一个基于phpQuery的php通用采集类分享