Home > php教程 > php手册 > body text

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

WBOY
Release: 2016-06-13 09:27:53
Original
747 people have browsed it

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

在上篇文章中,我们已经采集新闻信息页的列表数据,接下来要做的操作就是从数据库中读取所需要采集的URL,进行页面抓取就行

新建一个content表

不过需要注意的一点是,不能再采用采集URL这种id递增的方法去采集,因为数据表中可能出现id断续,比如id=9,id=11,当采集到id=10的时候,URL是空白的,这样可能会导致采集到了空字段。

这里用到的一个技巧是数据库的查询语句,在我们采集完第一条数据的时候,判断数据库里是否还有大于此id的id编号,若有,读取一条,查询信息重复上面的工作。

具体代码如下:

<&#63;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&#63;id=$row2[0]'</script>";
  }

&#63;>

Copy after login

这样子我们所要的新闻内容就采集入库了,接下来只需要对数据的一些样式进行整理就行了。

PHP采集入库问题

php 里有$nr = implode(‘#’,$arr) 方法 ,就可以 了
不过上面的组成的是“内容1#内容2”,没有最后面的一个#,要是必须的话
就是$nr = implode('#',$arr).'#'

在笨的方法,就是用
foreach( $arr as $vl){
$nr.=$vl."#";
}
参考资料:$
 

PHP采集入库问题

mysql_connect() //先连接你的数据库
mysql_select_db() //选择你的数据库
mysql_query("insert into 你的表 (地址,标题) values ('$tmp[1][$i]',$tmp[2][$i])");//OK了,搞定!
 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template