php採集
Ⅰ php使用3種方法實現數據採集 什麼叫採集
下面的php代碼可以將HTML表格的每行每列轉為數組,採集表格數據
<?php function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 HTML 標記 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字元 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; } ?>
Ⅱ php循環採集出文章列表
在你的代碼基礎上稍微修改了一下 如下
<?php
header("Content-type: text/html; charset=gb2312");
$url = "http://top.qidian.com/Book/TopDetail.aspx?TopType=6"; //目標站
$fp = @fopen($url, "r") or die("超時");
$fcontents = file_get_contents($url);
preg_match_all("/ <a target=\"_blank\" href=\"http:\/\/www.qidian.com\/Book\/(.*?)\.aspx\"/is", $fcontents, $regs);
print_r($regs[0]);
?>
Ⅲ 怎麼用PHP採集別的網上的數據
簡單的有個file_get_content函數,然後寫正則規則匹配內容,存資料庫。
如果需要登陸的,用curl,還有可以用PHP的DOM庫替換正則表達式
Python和Java等都有beautifulsoup這個第三方庫,用來採集非常棒
Ⅳ PHP中怎樣實現文章採集
只舉例說明,生產環境你自己根據情景去搞
$url = 'www.domain.com';
$content = file_get_content($url);//抓取網頁全部內容
preg_match( string pattern, string subject [, array matches ] );//正則獲取自己需要的內容
入庫~
完事了。。。
當然,情形復雜,例如需要登錄,採集目標限制等問題,這再說...
實際使用的時候,可以直接使用Snoopy類,提供好多方法供使用,比自己去造輪子要安全,當然,你可以在她的基礎上再去造輪子~~~
Ⅳ php 採集個網站內容
$data=get_meta_tags('url');
echo $data['description'];
Ⅵ php自動採集如何實現
PHP自動採集能一定程度的實現,部分網站的頁面結構存在一定的共通點,比如文章內容頁的標題,不少網站是標記在<h1>里的,實在不行,就採集<title>,絕對能採到,然後、過濾掉title裡面的網站名稱。
採集文章內容就相對麻煩,但是通過層層分析,層層剝離,一定要進行大量的網站分析,寫出多套通用性比較強的採集規則,程序在採集的時候也要進行大量分析。
有幾點是可以肯定的,那就是絕對不能要求採集效果達到為某個網站單獨寫採集規則來的效果好,也絕對不是能匹配任意網站,頂多能匹配部分網站。
Ⅶ PHP採集網頁中指定的內容
你如果是單個頁面的話不需要正規表達式,只要找到自己需要的部分看看前面和後面有什麼唯一性的標識,截取出來就可以了。
Ⅷ 用PHP進行數據採集
$strPreg = "|<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>|U";
搞定了才發現你都沒懸賞分。。。
Ⅸ php怎麼實現採集網易新聞,並且帶有分頁效果
對於第一項表單而言
比如:
內容的第一頁http://php168.com/1/index-22.html
內容的第二頁http://php168.com/1/index-22_2.htm
那麼表單填.html
分析規則就是對比第一頁與第二頁的網址從左到右哪個字元出現不同,就把第一頁網址之後的字元復制出來
如果是這種情況
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2
對於這種情況,他後面不同的是一個數字,即是頁碼數字的話,就不需要填寫.留空即可
對於第二項表單而言
第一頁http://php168.com/1/index-22.html
第二頁http://php168.com/1/index-22_2.htm
那麼右邊的表單填_[page].htm
分析規則就是對比第一頁與第二頁的網址從左到右哪個字元出現不同,就把第二頁的網址之後的字元復制出來,並把變動的頁碼數字用[page]替換
如果是這種情況
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2
對於這種情況,他後面不同的是一個數字,即是頁碼數字的話,更簡單,只需要填寫[page]即可
對於第三項表單而言
第一頁http://php168.com/1/index.html
第二頁http://php168.com/1/index_1.html
此時屬於怪癖的,理論上應該是
第三頁http://php168.com/1/index_2.html
所以表單請選擇是,但一般情況都是選否的,也就是說頁碼數字為1卻是第二頁.頁碼數為2卻是第三頁.就屬於特殊現象.需要選則是.
Ⅹ php採集規則怎麼寫
這些都是正則表達式,自己網路先學會正則表達式再說吧。。
只要是能正常訪問都可以採集的。
我解釋一個吧
/^http:\/\/www\.cpp1\.cn\/News\/[0-9]{4}-[0-9]{1,2}\/[0-9]{1,2}\/[0-9]+\.htm/i
就是匹配www.cpp1.cn/News/'這里是任意四個0-9的數'-『一個或者二個0-9的數』/'一個或者二個0-9的數'/'任意數量的0-9的數'.htm
例如http://www.cpp1.cn/News/2011-7/20/120216.htm