Linux 抓取網頁方式(curl wget)

2021-06-07 00:26:01 字數 2173 閱讀 8906

linux抓取網頁,簡單方法是直接通過 curl 或 wget 兩種命令。

curl 和 wget 命令,目前已經支援linux和windows平台,後續將介紹。

curl 和 wget支援協議

curl  支援 http,https,ftp,ftps,scp,telnet等網路協議,詳見手冊 man curl

wget支援 http,https,ftp網路協議,詳見手冊man wget

1、ubuntu平台

wget 命令安裝: sudo apt-get install wget (普通使用者登入,需輸入密碼; root賬戶登入,無需輸入密碼)

curl   命令安裝:  

sudo apt-get install curl   

(同 wget)

2、windows平台

curl  download

curl 和 wget抓取例項

1、 url **方式抓取

這時,可能就需要多次嘗試傳送連線,請求伺服器的響應;如果多次仍無響應,則可以確認伺服器出問題了

(1)curl多次嘗試連線

注: --retry表示重試次數; --retry-delay表示兩次重試之間的時間間隔(秒為單位); --retry-max-time表示在此最大時間內只容許重試一次(一般與--retry-delay相同)

(2)wget多次嘗試連線

2、 proxy**方式抓取

兩個著名的免費****:

freeproxylists.net(全球數十個國家的免費**,每日都更新)

xroxy.com(通過設定埠型別、**型別、國家名稱進行篩選)

218.107.21.252:8080(ip為218.107.21.252;port為8080,中間以冒號「:」隔開,組成乙個套接字)

curl -x 218.107.21.252:8080 -o aaaaa 常見有80,8080,8086,8888,3128等,預設為80)

以ubuntu為例,在當前使用者目錄(cd ~),新建乙個wget配置檔案(.wgetrc),輸入**配置:

然後再輸入wget抓取網頁的命令:

其它命令引數用法,同url**方式,在此不再贅述

ftp協議、迭代子目錄等更多的curl 和 wget用法,可以man檢視幫助手冊

知識拓展:

在國內,由於某種原因一般難以直接訪問國外某些敏感**,需要通過 vpn 或 **伺服器才能訪問

如果校園網和教育網有ipv6,則可以通過sixxs.org免費**訪問facebook、twitter、六維空間等**

其實,除了vpn 和 ipv6+sixxs.org**方式外,普通使用者還是有其它途徑訪問到國外**

下面介紹兩個著名的免費****:

freeproxylists.net(全球數十個國家的免費**,每日都更新)

xroxy.com(通過設定埠型別、**型別、國家名稱進行篩選)

curl 專案例項

使用curl + freeproxylists.net免費**,實現了全球12國家google play遊戲排名的網頁抓取以及趨勢圖查詢(抓取網頁模組全部使用shell編寫,核心**約1000行)

遊戲排名趨勢圖請見我先前的部落格:jfreechart專案例項

curl抓取網頁操作

curl是利用 url語法在命令列方式下工作的開源檔案傳輸工具,他能夠從網際網路上獲得各種各樣的網路資源。簡單來說,curl 就是抓取頁面的公升級版。開啟php.ini 查詢curl模組有沒有開啟。extension php curl.dll 簡版 curl curl init 建立 curl 資源...

Linux 抓取網頁方式(curl wget)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!linux抓取網頁,簡單方法是直接通過 curl 或 wget 兩種命令。curl 和 wget 命令,目前已經支援linux和windows平台,後續將介紹。curl 和 wget支援協議 curl 支援 http,https,ftp,ftps,...

CURL多執行緒抓取網頁

網上這類方法似乎太多了。但是總是有一些問題存在。對於多執行緒抓取,現在有如下幾種思路 1.用apache的多執行緒特性,讓php進行 多程序 操作,就像post本身一樣 2.用curl的curl multi庫 對於第一種,我還沒嘗試,因為這種製造的是偽多執行緒,也許效率會低很多,而且不好控制。第二種...