基于PHP的簡單采集數(shù)據(jù)入庫程序
說到采集,無非就是遠(yuǎn)程獲取信息->提取所需內(nèi)容->分類存儲(chǔ)->讀取->展示
也算是簡單"小偷程序"的加強(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采集信息的過程。
- 開啟CURL擴(kuò)展,讓服務(wù)器支持PHP curl函數(shù)(遠(yuǎn)程采集)
- 基于PHP的cURL快速入門教程 (小偷采集程序)
- PHP采集利器 Snoopy 試用心得
- php file_get_contents函數(shù)輕松采集html數(shù)據(jù)
- PHP實(shí)現(xiàn)采集抓取淘寶網(wǎng)單個(gè)商品信息
- PHP 采集程序 常用函數(shù)
- PHP 采集獲取指定網(wǎng)址的內(nèi)容
- snoopy 強(qiáng)大的PHP采集類使用實(shí)例代碼
- PHP采集類snoopy詳細(xì)介紹(snoopy使用教程)
- 利用PHP命令行模式采集股票趨勢信息
相關(guān)文章
Laravel如何創(chuàng)建服務(wù)器提供者實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Laravel如何創(chuàng)建服務(wù)器提供者的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
老生常談php中傳統(tǒng)驗(yàn)證與thinkphp框架(必看篇)
下面小編就為大家?guī)硪黄仙U刾hp中傳統(tǒng)驗(yàn)證與thinkphp框架(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
php實(shí)現(xiàn)微信原生支付(掃碼支付)功能
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)微信原生支付,掃碼支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05

