天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP 采集程序原理分析篇

苦想了幾天,終于弄明白了里面的道理。在這里寫出來(lái),請(qǐng)高手指正。
采集程序的思路很簡(jiǎn)單,無(wú)非就是先打一個(gè)頁(yè)面,一般都是列表頁(yè),取得里面全部鏈接的地址,然后打開(kāi)逐條鏈接,尋找我們感興趣的東西,如果找到,就把它入庫(kù)或別的處理。下面以一個(gè)很簡(jiǎn)單的例子來(lái)說(shuō)說(shuō)。

首先確定一個(gè)采集頁(yè),一般就是列表面了。這里目標(biāo)是:http://www.jb51.NET/article/11/index.htm。這是一個(gè)列表頁(yè),我們的目的就是采集這個(gè)列表頁(yè)上全部的文章。

有列表頁(yè)了,第一步先打開(kāi)它,把它的內(nèi)容納入到我們的程序中來(lái)。一般用fopen或是file_get_contents這兩個(gè)函數(shù),我們這里用fopen作例子。怎么打開(kāi)它呢?很簡(jiǎn)單:$source=fopen("http://www.jb51.NET/article/11/index.htm",'r');實(shí)際上已經(jīng)把內(nèi)容納入到我們的程序中來(lái)了。注意得到的$source是一個(gè)資源,不是可處理的文本,所以再用函數(shù)fread將內(nèi)容讀到一個(gè)變量中,這次就是真正的可編輯的文本了。例子:
$content=fread($source,99999);后面的數(shù)字表示字節(jié)數(shù),填個(gè)大的就行。你用file_put_contents將$content寫入到一個(gè)文本文件,可以看出里面的內(nèi)容其實(shí)就是網(wǎng)頁(yè)的源碼。得到了網(wǎng)頁(yè)的源碼,我們就要分析里面的文章鏈接地址,這里要用到正則表達(dá)式了,[推薦正則表達(dá)式教程(http://www.jb51.NET/article/7/all/545.1.htm)]。通過(guò)查看源代碼,我們可以看到里面文章的鏈接地址全是這個(gè)樣子<div class="in_arttitle"><a href="http://www.jb51.NET/article/10/all/273.1.htm">  將數(shù)據(jù)庫(kù)連接代碼封裝在函數(shù)里,在需要讀取時(shí)調(diào)用..</a>
我們就可以寫正則表達(dá)式了。$count=preg_match_all("/<div class=/"in_arttitle/"><a/shref=/"(.+?)/">(.+?)<//a>/",$content,$art_list);
其中數(shù)組$art_list[1][$s]里面包含的就是某個(gè)文章的鏈接地址。而$art_list[2][$s]包含的就是某一文章的標(biāo)題。到了這一步就可以算成功了一半了。
接著用for循環(huán)依次打每個(gè)鏈接,然后像取得標(biāo)題一樣的方法取得內(nèi)容即可。以上這些和我在網(wǎng)上找的教程都差不多,但是到了這個(gè)for循環(huán)網(wǎng)上的教程可就差勁,還沒(méi)找到一篇可以說(shuō)清這個(gè)事的文章,剛開(kāi)始我是用js來(lái)幫助循環(huán)的,還是用實(shí)例說(shuō)吧,剛開(kāi)始我是這樣做的:
for($i=0;$i<20;4i++ {
中間就是采集內(nèi)容的部分了,省略了
采集了一頁(yè),肯定要采集再一頁(yè)啊
可是再用fopen打開(kāi)鏈接時(shí)就不行了。請(qǐng)求失敗什么的,用js也不行,最后才知道要用這句echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=aa.php?id=1'>";其中aa.php就是我們的程序的文件名, id后面的數(shù)字就可以幫助我們實(shí)現(xiàn)循環(huán),采集多個(gè)頁(yè)面。這就是能真正循環(huán)起來(lái)的關(guān)鍵
}
腦子有點(diǎn)難受,寫得有點(diǎn)亂,將就著看吧,在高手看來(lái)這可能沒(méi)什么大不了的,可是對(duì)于我等菜鳥來(lái)說(shuō),實(shí)在是很有幫助。

php技術(shù)PHP 采集程序原理分析篇,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲三级在线视频 | 99er久久国产精品在线 | 日韩做A爰片久久毛片A片毛茸茸 | 第七色男人天堂 | 22eee在线播放成人免费视频 | 99手机在线视频 | 国产成人在线免费 | 欧美aa级片 | 看美女大腿中间的部分 | 色婷婷狠狠97成为人免费 | 色一情一乱一伦一区二区三区 | 国产精品国产三级国产专区53 | 飘雪在线观看免费高清完整版韩国 | 男人吃奶摸下挵进去啪啪 | 91av欧美 | 最新高清无码专区在线视频 | 乡村教师电影完整版在线观看 | 一个人看的www视频动漫版 | 国产福利视频第一导航 | 久久性综合亚洲精品电影网 | 乱码中字在线观看一二区 | 日本色女孩影院 | 草神被爆漫画羞羞漫画 | 成年女人免费播放影院 | 久久AV亚洲精品一区无码网 | 猫咪最新破解版下载 | 免费毛片观看 | 琪琪色在线播放 | 国产精品成人不卡在线观看 | 国自产拍 高清精品 | 嘴巴舔着她的私处插 | 99热这里只有精品6 99热这里只有精品 99热这里只有的精品 | 成 人 动漫3d 在线看 | 男男免费看 | 欧美巨大巨粗黑人性AAAAAA | 亚洲精品久久YY5099 | 在线观看日韩一区 | 一个人免费观看在线视频播放 | 国产麻豆精品久久一二三 | 九九热精品在线 | 国产精品久久人妻拍拍水牛影视 |