❶ php數據採集
$remark = $_POST['$remark']; 改成 $remark = $_POST[$remark];
❷ php curl 大量數據採集
這個需要配合js,打開一個html頁面,首先js用ajax請求頁面,返回第一個頁面信息確定處理完畢(ajax有強制同步功能),ajax再訪問第二個頁面。(或者根據伺服器狀況,你可以同時提交幾個URL,跑幾個相同的頁面)
參數可以由js產生並傳遞url,php後台頁面根據URL抓頁面。然後ajax通過php,在資料庫或者是哪裡設一個標量,標明檢測到哪裡。由於前台的html頁面執行多少時候都沒問題,這樣php的內存限制和執行時間限制就解決了。
因為不會浪費大量的資源用一個頁面來跑一個瞬間500次的for循環了。(你的500次for循環死了原因可能是獲取的數據太多,大過了php限制的內存)
不過印象中curl好像也有強制同步的選項,就是等待一個抓取後再執行下一步。但是這個500次都是用一個頁面線程處理,也就是說肯定會遠遠大於30秒的默認執行時間。
❸ 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採集網站數據
簡單的分了幾個步驟:
1、確定採集目標
2、獲取目標遠程頁面內容(curl、file_get_contents)
3、分析頁面html源碼,正則匹配你需要的內容(preg_match、preg_match_all),這一步最為重要,不同頁面正則匹配規則不一樣
4、入庫
❺ php https數據採集
1:curl抓取html
2:用正則截取你需要的內容,或則用explode分割獲取內容,還有phpquery等可以像jquery一樣使用選擇器獲取你需要的內容
❻ PHP 數據採集 太慢
一頁一頁采啊,你要是想把N個網頁一下子採下來,在瀏覽器中肯定不行,你可以用php.exe在命令行下運行你的採集腳本。如果你想在瀏覽器上采,你得一次採集一個頁面,然後用window.location.href轉向,把下一個要採集的地址傳過去,這樣一頁一頁的循環來採集。
❼ 用PHP進行數據採集
$strPreg = "|<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>|U";
搞定了才發現你都沒懸賞分。。。
❽ 目前php這塊數據採集的開發思路有哪些
指定網站的路徑URL,2.確定當前URL頁面的指定區域(我的是class="xxx"),將該區域的所有的內容拿過來,進行正則或是其他方式匹配。將匹配的結果過濾後,保存到資料庫。
你可以去後盾人平台看一下,裡面的東西不錯
❾ php怎樣web伺服器端的數據採集方法
class caiji{
private $reg;//正則
private $url;//數據源
private $dataArr;//返回結果數組
public function __construct($reg,$url){
$this->reg=$reg;
$this->url=$url;
$this->caijStar();
}
private function caijStar(){//採集方法
$conn=file_get_contents("{$this->url}");
$reg="{$this->reg}";
preg_match_all($reg,$conn,$this->dataArr);
}
public function getArr(){//數據獲取方法
return $this->dataArr;
}
}
❿ 請教一個PHP的數據採集的知識:
$fconent=file_get_contents($url);//獲取網頁內容
preg_match_all("#".$liebiaorole."#iUs",$fconent,$arr);//通過正則表達式過濾內容