基于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 相关文章推荐
BBS(php &amp; mysql)完整版(三)
Oct 09 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
解析PHP工厂模式的好处
Jun 18 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
PHP实现的超长文本分页显示功能示例
Jun 04 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP开发API接口签名生成及验证操作示例
May 27 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
Yii中render和renderPartial的区别
2014/09/03 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
web前端开发也需要日志
2010/12/09 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
2016/08/01 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python实现的直接插入排序算法示例
2018/04/29 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
python数据分析:关键字提取方式
2020/02/24 Python
Python中实现输入一个整数的案例
2020/05/03 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
农民工预备党员思想汇报
2014/09/14 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
Python中使用ipython的详细教程
2021/06/22 Python
如何使用pdb进行Python调试
2021/06/30 Python
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
SpringBoot整合Minio文件存储
2022/04/03 Java/Android