基于PHP的簡單采集數(shù)據(jù)入庫程序
說到采集,無非就是遠(yuǎn)程獲取信息->提取所需內(nèi)容->分類存儲->讀取->展示
也算是簡單"小偷程序"的加強(qiáng)版吧
下面是對應(yīng)核心代碼(別拿去做壞事哦^_^)
所要采集的內(nèi)容是某游戲網(wǎng)站上的公告,如下圖:
可先利用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");//獲取頁面內(nèi)容 $pattern="/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs";//正則 preg_match_all($pattern, $conn, $arr);//匹配內(nèi)容到arr數(shù)組 //print_r($arr);die; foreach ($arr[1] as $key => $value) {//二維數(shù)組[2]對應(yīng)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數(shù)據(jù)列表$id...請稍后..."; echo "<script>window.location='list.php?id=$id'</script>"; }else{ echo "采集數(shù)據(jù)結(jié)束。"; } ?>
conn.php是數(shù)據(jù)庫連接文件
list.php是本頁面
由于要采集的數(shù)據(jù)是分頁顯示的,且頁面地址是規(guī)律遞增,所以我用了js跳轉(zhuǎn)代碼,利用id傳值控制采集的頁數(shù),也避免了for循環(huán)數(shù)目過大。
輕輕松松數(shù)據(jù)入庫,下篇文章寫關(guān)于具體url采集信息的過程。
相關(guān)文章
Laravel validate error處理,ajax,json示例
今天小編就為大家分享一篇Laravel validate error處理,ajax,json示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10php+iframe實現(xiàn)隱藏?zé)o刷新上傳文件
首先ajax不能上傳文件,這誤導(dǎo)了我有段時間,今晚睡不著就照著說明做了個無刷新上傳文件2012-02-02