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

 更新时间:2014年07月30日 10:22:18   投稿:hebedich  
在上篇 基于PHP的简单采集数据入库程序 中提到采集新闻信息页的列表数据,接下来讲讲关于采集新闻具体内容

在上篇文章中,我们已经采集新闻信息页的列表数据,接下来要做的操作就是从数据库中读取所需要采集的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整站防注入程序,需要在公共文件中require_once本文件,因为现在网站被注入攻击现象很严重,所以推荐大家使用
    2012-04-04
  • Yii实现多按钮保存与提交的方法

    Yii实现多按钮保存与提交的方法

    这篇文章主要介绍了Yii实现多按钮保存与提交且不冲突的方法,是表单制作中非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP编写RESTful接口

    PHP编写RESTful接口

    本文给大家分享的是使用PHP编写的RESTful接口的方法和简单示例,有需要的小伙伴可以参考下。
    2016-02-02
  • 简单的php数据库操作类代码(增,删,改,查)

    简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西。所以。mysql的操作成为第一个要点。我写了一个简单的mysql操作类,实现数据的简单的增删改查功能。
    2013-04-04
  • PHP将URL转换成短网址的算法分享

    PHP将URL转换成短网址的算法分享

    短网址(Short URL)顾名思义就是在形式上比较短的网址。在Web 2.0的今天,不得不说这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接,下面来看看如何用PHP实现这个功能,有需要的朋友们可以参考。
    2016-09-09
  • Yii框架表单模型和验证用法

    Yii框架表单模型和验证用法

    这篇文章主要介绍了Yii框架表单模型和验证用法,结合实例形式分析了Yii表单模型的原理及验证器的使用技巧,需要的朋友可以参考下
    2016-05-05
  • ThinkPHP3.2.2的插件控制器功能

    ThinkPHP3.2.2的插件控制器功能

    这篇文章主要介绍了ThinkPHP3.2.2最新开始支持的插件控制器功能的使用方法,非常详细,这里推荐给小伙伴们。
    2015-03-03
  • laravel框架使用极光推送消息操作示例

    laravel框架使用极光推送消息操作示例

    这篇文章主要介绍了laravel框架使用极光推送消息操作,结合实例形式详细分析了laravel框架扩展jpush-api-php-client实现极光推送消息具体操作步骤与使用技巧,需要的朋友可以参考下
    2020-02-02
  • php 数组处理函数extract详解及实例代码

    php 数组处理函数extract详解及实例代码

    php extract 函数使用数组键名作为变量名,使用数组键值作为变量值, 本函数可以处理表单提交并插入数据库。文章向大家讲解extract函数的基本使用方法及实例,需要的朋友可以参考下
    2016-11-11
  • php 生成Tab键或逗号分隔的CSV

    php 生成Tab键或逗号分隔的CSV

    这篇文章主要介绍了php 生成Tab键或逗号分隔的CSV的相关资料,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09

最新评论