一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP 采集程序原理分析篇

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

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

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

php技術PHP 采集程序原理分析篇,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲午夜大片 | 久久伊人色 | 成人福利在线免费观看 | 激情网站在线 | 国语自产免费精品视频在 | 91精品网站 | 天天综合天天做天天综合 | 五月婷婷丁香花 | 久久久久久国产精品mv | 久久综合色网 | 国产成人香蕉 | 美女视频一区 | 黄色链接在线观看 | 好吊妞精品 | 久久亚洲精品国产精品婷婷 | 国产女人一区二区 | 久久夜色精品国产噜噜 | 免费在线看黄网站 | 亚洲六月丁香六月婷婷蜜芽 | 中文字幕日本精品一区二区三区 | 亚洲网美女 | 中国成人在线视频 | 免费xxx视频| 国产对白91色拍高清精品 | 香蕉视频网页 | 超pen个人视频国产免费观看 | 国产美女网站 | 免费播放美女一级毛片 | 国产综合激情在线亚洲第一页 | 日韩欧美激情视频 | 天天寡妇色 | 国产一级二级在线观看 | 日本一区免费在线 | 涩涩综合| 国内精品久久久久久久星辰影视 | 国内精品免费一区二区三区 | 亚洲黄色小说图片 | 国产91久久精品 | 国产在视频线精品视频www666 | 污视频在线看网站 | 福利在线一区二区 |