導航:首頁 > 編程語言 > php爬蟲抓取網頁數據

php爬蟲抓取網頁數據

發布時間:2023-05-11 11:41:38

㈠ 如何用php 編寫網路爬蟲

php不太適合用來寫網路爬蟲,因為幾乎沒有現成的框架,或者成熟的下載機制,也不太適合做並發處理.

下載頁面的話除了一個curl,就是file_get_contents,或者curl_multi來做並發請求.curl可以代理埠,虛假ip,帶cookie,帶header請求目標頁面,下載完成之後解析頁面可以用queryList來解析html.寫法類似jQuery.

提供給你我之前寫的類:curl.php 希望可以幫到你.

QueryList.php和phpQuery.php由於文件太大了,沒辦法貼上來

<?php
classHttp{
publicfunctioncurlRequest($url,$postData='',$timeOut=10,$httpHeader=array()){
$handle=curl_init();
curl_setopt($handle,CURLOPT_URL,$url);
if($httpHeader){
curl_setopt($handle,CURLOPT_HTTPHEADER,$httpHeader);
}
curl_setopt($handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($handle,CURLOPT_HEADER,0);curl_setopt($handle,CURLOPT_TIMEOUT,$timeOut);
curl_setopt($handle,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($handle,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($handle,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($handle,CURLOPT_USERAGENT,'Mozilla/5.0(Macintosh;IntelMacOSX10_7_2)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.93Safari/537.36');curl_setopt($handle,CURLOPT_ENCODING,'gzip,deflate,sdch');
if(!empty($postData)){
curl_setopt($handle,CURLOPT_POST,1);
curl_setopt($handle,CURLOPT_POSTFIELDS,$postData);
}
$result['response']=curl_exec($handle);
$result['httpStatus']=curl_getinfo($handle,CURLINFO_HTTP_CODE);
$result['fullInfo']=curl_getinfo($handle);
$result['errorMsg']='';
$result['errorNo']=0;
if(curl_errno($handle)){
$result['errorMsg']=curl_error($handle);
$result['errorNo']=curl_errno($handle);
}
curl_close($handle);
return$result;
}
}
?>

㈡ 如何用PHP做網路爬蟲

其實用PHP來爬會非常方便,主要是PHP的正則表達式功能在搜集頁面連接方面很方便,另外PHP的fopen、file_get_contents以及libcur的函數非常方便的下載網頁內容。

㈢ 求一個簡易的php爬蟲提取網頁的title

header("Content-Type: text/html; charset=gbk");
$url = "http://www..com/";
$fcontents = file_get_contents($url);
if (ereg("<title>(.*)</title>", $fcontents, $regs)){echo "ok";}else{echo "error";}
echo "<br>";
print_r($regs);

㈣ 你好,我如何用php來實現網路爬蟲呢具體一點

以下是訪問某音樂網站,並獲取其歌曲名等數組的示例,你可以參考:

<?php
header('Content-type:text/html;charset=utf-8');
$doc = file_get_contents('http://www.songtaste.com/music/');
$pa = '{MSL\((.*)\);}';
preg_match_all($pa,$doc,$r);
for($i=0;$i<count($r[1]);$i++)
{
$r1 = explode(', ',$r[1][$i]);
echo '歌曲標題:'. iconv('gb2312','utf-8',$r1[0]) .' 歌曲ID:'.$r1[1].'<br/>';
}
?>

㈤ php實現網路爬蟲

只要包含網路和字元串處理功能的編程語言理論上都可以寫爬蟲,所以PHP當然完全沒問題。如何用PHP寫爬蟲的前提是你要先調研清楚爬什麼內容。這需要你針對要爬取目標做好充分的測試和准備工作,叢簡否則會浪費很多時間。

比如一個簡單的「傳統型」網站,那真的只需要用file_get_contents函數加正則就能搞定。覺的正則匹配數據太麻煩可以上xpath。如果站點有了頻率和IP限制,這時就要額外准備好代理IP池了。當發現抓取內容是JS渲染的,可能要考慮引入headlessbrowser這種技術的PHP擴展了。對爬取效率有鬧鄭物了要求後,多線程,抓取和解析分離,分布式也是要考慮的了。。。

回到問題本身如何寫的問題,我個人覺得爬蟲是個定製化比較液液高的業務需求,需要根據具體的場景來規劃。如果是要寫一個能解決所有爬蟲場景的,那就不用自己寫了,成熟的開源軟體拿來直接用就行了。非要寫的話可以直接參考這些成熟的軟體,自己可以少踩很多坑。

㈥ 用python爬蟲可以爬過去的網站嗎

首先我們要知道什麼是爬蟲?爬蟲就是一個自動抓取網頁數據的程序,是搜索引擎的重要組成部分。通過計算機程序在網路不斷通過定製的入口網址去提取網頁的鏈接,並根據這些鏈接再度抓取提取更深的其它未知的鏈接,以此下去,最終獲取想要的內容。

接下來我們態咐就要思考如何用爬蟲抓取網頁數據:

1.首先要明確網頁的三大特徵:

1)每一個網頁都有唯一統一資源定位符(URL)來進行定位;

2)網頁使用超文本標記語言(HTML)來描述頁面信息;

3)網頁使用超文本傳輸協議(HTTP/HTTPS)協議來傳輸HTML數據。

2.建立爬蟲的設計思路:

1)首先確定需要爬取的網頁URL地址;

2)通過HTTP/HTTP協議來獲取對應的HTML頁面;

3)提取困讓HTML頁面里有用的數據:

a.如果是需要的數據,就保存起來。

b.如果是頁面里的其他URL,那就繼續執行第二步。

比如我們想爬去新浪資訊整站數據內容,觀察到新浪首頁上方有很多分類,例如新聞、財經、科技、體育、娛樂、汽車,每一個分類下又分很多子類,例如新聞下又分汪閉局為軍事、社會、國際。因此,首先要從新浪的首頁開始,找到各個大類的URL鏈接,再在大類下找到小類的URL鏈接,最後找到每個新聞頁面的URL,按需求爬取文本後者圖片,這就是爬取一整個資源站的思路。

3.爬蟲的方式

可以做爬蟲的語言有很多,如PHP、Java、C/C++、Python等等...

但目前Python憑借其語法優美、代碼簡潔、開發效率高、支持的模塊多,相關的HTTP請求模塊和HTML解析模塊非常豐富成為了最廣泛使用的方式,其有強大的爬蟲Scrapy以及成熟高效的scrapy-redis分布式策略。此外,利用python調用其他借口也是非常方便。

㈦ 如何入門 php 爬蟲

從爬蟲基本要求來看:
抓取:抓取最基本就是拉網頁回來,所以第一步就是拉網頁回來,慢慢會發現各種問題待優化;
存儲:抓回來一般會用一定策略存下來橋行,可以選擇存文件系統開始,然後以一定規則命名。
分析:對敏激嘩網頁進行文本分析,可以用認為最快最優的辦法,比如正則表達式;
展示:要是做了一堆事情,一鉛渣點展示輸出都沒有,如何展現價值。

㈧ PHP可以寫網頁爬蟲嗎

幾和脊乎任何語言都能寫爬蟲,原理也都一樣,http 協議抓網喚局滲頁內容,按照需求程度不同,可能還要抓響應碼、Cookies、header然臘悄後自行處理。

㈨ php如何爬取天貓和淘寶商品數據

直接用Curl就行,具體爬取的數據可以穿參查看結果,方法不區分淘寶和天貓鏈接,但是前提是必須是PC端鏈接,另外正則寫的不規范,所以可以自己重寫正則來匹配數據。

㈩ 如何用php 編寫網路爬蟲

  1. pcntl_fork或者賀返swoole_process實現多進程並發。按照每個網頁抓取耗時500ms,開200個進程,可以實現每秒400個頁面的抓取。

  2. curl實現頁面抓取,設置cookie可以實現模擬登錄

  3. simple_html_dom 實現頁面的解析和DOM處理

  4. 如果想嫌磨要禪者飢模擬瀏覽器,可以使用casperJS。用swoole擴展封裝一個服務介面給PHP層調用

在這里有一套爬蟲系統就是基於上述技術方案實現的,每天會抓取幾千萬個頁面。

閱讀全文

與php爬蟲抓取網頁數據相關的資料

熱點內容
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:737
方舟編譯器現在可提速哪些軟體 瀏覽:58
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:602
蘋果13如何加密視頻 瀏覽:813
linuxweblogic緩存 瀏覽:67
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:377
找pdf 瀏覽:529
與伺服器連接斷開如何處理 瀏覽:833
伺服器維修預計十分鍾什麼意思 瀏覽:170
黑馬程序員主打教學是什麼 瀏覽:41
python九乘法表怎麼編寫 瀏覽:974
思維方式pdf 瀏覽:656
tcc社區app怎麼注冊 瀏覽:941
央視網下載加密 瀏覽:454
命令行訪問伺服器 瀏覽:36