基于PHP的简单采集数据入库程序【续篇】


Posted in PHP onJuly 30, 2014

在上篇文章中,我们已经采集新闻信息页的列表数据,接下来要做的操作就是从数据库中读取所需要采集的URL,进行页面抓取就行

新建一个content表

不过需要注意的一点是,不能再采用采集URL这种id递增的方法去采集,因为数据表中可能出现id断续,比如id=9,id=11,当采集到id=10的时候,URL是空白的,这样可能会导致采集到了空字段。

这里用到的一个技巧是数据库的查询语句,在我们采集完第一条数据的时候,判断数据库里是否还有大于此id的id编号,若有,读取一条,查询信息重复上面的工作。

具体代码如下:

<?php
  
  include_once("conn.php");
  $id=(int)$_GET['id'];
  $sql="select * from list where id=$id";
  $result=mysql_query($sql);
  $row=mysql_fetch_array($result);//取得对应的url地址
  $content=file_get_contents($row['url']);
  $pattern="/<dd class=\"dataWrap\">(.*)<\/dd>/iUs";
  preg_match($pattern, $content,$info);//获取内容存放info
  echo $title=$row[1]."<br/>";
  echo $content=$info[0]."<hr/>";

  //插入数据库
  $add="insert into content(title,content) value('$title','$content')";
  mysql_query($add);

  $sql2="select * from list where id>$id order by id asc limit 1";
  $result2=mysql_query($sql2);
  $row2=mysql_fetch_array($result2);//取得对应的url地址
  if($row2['id']){
    echo "<script>window.location='content.php?id=$row2[0]'</script>";
  }

?>

基于PHP的简单采集数据入库程序【续篇】

这样子我们所要的新闻内容就采集入库了,接下来只需要对数据的一些样式进行整理就行了。

PHP 相关文章推荐
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
PHP 转义使用详解
Jul 15 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
使用PHP静态变量当缓存的方法
Nov 13 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
Sep 04 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
php数组函数array_walk用法示例
May 26 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
php弹出提示框的是实例写法
Sep 26 PHP
基于PHP的简单采集数据入库程序
Jul 30 #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
You might like
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
2018/07/13 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python自定义线程池实现方法分析
2018/02/07 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
财务整改报告范文
2014/11/05 职场文书
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android