基于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缓存技术介绍
Nov 25 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
PHP输出日历表代码实例
Mar 27 PHP
PHP中COOKIES使用示例
Jul 26 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
thinkPHP5.0框架独立配置与动态配置方法
Mar 17 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
在Laravel 中实现是否关注的示例
Oct 22 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
python3如何将docx转换成pdf文件
2018/03/23 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
公司合作意向书
2014/04/01 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
建设工地安全标语
2014/06/07 职场文书
行政求职信
2014/07/04 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
十岁生日答谢词
2015/01/05 职场文书
财务负责人岗位职责
2015/02/03 职场文书
房屋维修申请报告
2015/05/18 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
Oracle 触发器trigger使用案例
2022/02/24 Oracle