基于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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
PHPlet在Windows下的安装
Oct 09 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
php批量上传的实现代码
Jun 09 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
PHP防止刷新重复提交页面的示例代码
Nov 11 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 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使用JSON和将json还原成数组
2015/02/12 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP学习记录之数组函数
2018/06/01 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
Python 实现选择排序的算法步骤
2018/04/22 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
简历的自我评价范文
2014/02/04 职场文书
小学班级标语口号大全
2015/12/26 职场文书
思想品德课教学反思
2016/02/24 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server