PHP 網頁內容抓取 抓取網頁內容的兩種常用方法

2021-07-31 02:39:25 字數 1157 閱讀 2904

說到網頁內容的抓取,最常用的兩種方式:

1.利用file_get_contents()函式,簡簡單單;

2.curl抓取工具。curl是乙個非常強大的開源庫,支援很多協議,包括http、ftp、telnet等,我們使用它來傳送http請求。它給我 們帶來的好處是可以通過靈活的選項設定不同的http協議引數,並且支援https。curl可以根據url字首是「http」 還是「https」自動選擇是否加密傳送內容。curl尤其是在api介面呼叫過程中用處廣泛。

下面現說file_get_contents()函式,不多說,例項說話。

<?php

$url = '';

$s = file_get_contents($url);

echo bin2hex(substr($s, 0, 20));//

//bin2hex函式把包含資料的二進位制字串轉換為十六進製制值

之後,開始說下curl的使用,步驟如下:

1.初始化連線控制代碼;2.設定curl選項;3.執行並獲取結果;4.釋放vurl連線控制代碼。

curl_init() 和 curl_close() 分別是初始化curl連線和關閉curl連線,都比較簡單。

curl_exec() 執行curl請求

curl函式庫裡最重要的函式是curl_setopt(),它可以通過設定curl函式庫定義的選項來定製http請求。

上述**片段中使用了三個重要的選項:

curlopt_url 指定請求的url;

curlopt_returntransfer 設定為1表示稍後執行的curl_exec函式的返回是url的返回字串,而不是把返回字串定向到標準輸出並返回true;

curllopt_header設定為0表示不返回http頭部資訊。

// 3.採集

$output = curl_exec($ch);

// 4.關閉

curl_close($ch);

if($res == 'json') else

}

網頁內容抓取

之前採用xpath和正規表示式對網頁內容進行抓取,發現在有的地方不如人意,就採用了htmlparser對頁面進行解析,抓取需要的東西。htmlparser有點不好的地方在於不能對starttag和endtag進行匹配。採用了兩種方法進行抓取。第一種,抓取成對的tag之間的內容,採用了queue.qu...

c 抓取網頁內容

新增的引用 using system.net using system.io using system.io.compression 1.webclient mywebclient new webclient mywebclient.credentials credentialcache.defau...

python 網頁內容抓取

使用模組 import urllib2 import urllib 普通抓取例項 usr bin python coding utf 8 import urllib2 url 建立request物件 request urllib2.request url 傳送請求,獲取結果 try response...