基于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 字符串分割和比较
Oct 06 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
php生成zip压缩文件的方法详解
Jun 09 PHP
php事务处理实例详解
Jul 11 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
基于php实现随机合并数组并排序(原排序)
Nov 26 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 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
无线电的诞生过程
2021/03/01 无线电
PHP添加MySQL数据记录代码
2008/06/07 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
动手学习无线电
2021/03/10 无线电
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
React Native自定义控件底部抽屉菜单的示例
2018/02/08 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python制作小说爬虫实录
2017/08/14 Python
Django的分页器实例(paginator)
2017/12/01 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
Python实现注册、登录小程序功能
2018/09/21 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
Ejb技术面试题
2015/04/29 面试题
民主评议党员工作总结
2014/10/20 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
消费者理赔投诉书
2015/07/02 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书