程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 基於PHP的簡單采集數據入庫程序,php采集入庫

基於PHP的簡單采集數據入庫程序,php采集入庫

編輯:關於PHP編程

基於PHP的簡單采集數據入庫程序,php采集入庫


說到采集,無非就是遠程獲取信息->提取所需內容->分類存儲->讀取->展示

也算是簡單"小偷程序"的加強版吧

下面是對應核心代碼(別拿去做壞事哦^_^)

所要采集的內容是某游戲網站上的公告,如下圖:

可先利用file_get_contents和簡單正則獲取基本頁面信息

整理下基本信息,采集入庫:

<?php
  include_once("conn.php");


   if($_GET['id']<=8&&$_GET['id']){
     $id=$_GET['id'];
    $conn=file_get_contents("http://www.93moli.com/news_list_4_$id.html");//獲取頁面內容
  
  $pattern="/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs";//正則

  preg_match_all($pattern, $conn, $arr);//匹配內容到arr數組

  //print_r($arr);die;
  
  foreach ($arr[1] as $key => $value) {//二維數組[2]對應id和[1]剛好一樣,利用起key
    $url="http://www.93moli.com/".$arr[2][$key];
    $sql="insert into list(title,url) value ('$value', '$url')";
    mysql_query($sql);

    //echo "<a href='content.php?url=http://www.93moli.com/$url'>$value</a>"."<br/>";  
  }
   $id++;
   echo "正在采集URL數據列表$id...請稍後...";
   echo "<script>window.location='list.php?id=$id'</script>";

 }else{
   echo "采集數據結束。";
 }

?>

conn.php是數據庫連接文件

list.php是本頁面

由於要采集的數據是分頁顯示的,且頁面地址是規律遞增,所以我用了js跳轉代碼,利用id傳值控制采集的頁數,也避免了for循環數目過大。

輕輕松松數據入庫,下篇文章寫關於具體url采集信息的過程。


PHP采集入庫問題

mysql_connect() //先連接你的數據庫
mysql_select_db() //選擇你的數據庫
mysql_query("insert into 你的表 (地址,標題) values ('$tmp[1][$i]',$tmp[2][$i])");//OK了,搞定!
 

PHP采集入庫問題

php 裡有$nr = implode(‘#’,$arr) 方法 ,就可以 了
不過上面的組成的是“內容1#內容2”,沒有最後面的一個#,要是必須的話
就是$nr = implode('#',$arr).'#'

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved