Linux企業級專案實踐之網路爬蟲(9)——通過URL抓取網頁內容
基本URL包含模式(或稱協議)、伺服器名稱(或IP地址)、路徑和檔名,如“協議://授權/路徑?查詢”。完整的、帶有授權部分的普通統一資源標誌符語法看上去如下:協議://使用者名稱:密碼@子域名.域名.頂級域名:埠號/目錄/檔名.檔案字尾?引數=值#標誌
爬蟲系統要處理的URL是指使用超文字傳輸協議HTTP的URL。
URL分為絕對URL和相對URL
絕對URL顯示檔案的完整路徑,這意味著絕對URL本身所在的位置與被引用的實際檔案的位置無關。
相對URL以包含URL本身的資料夾的位置為參考點,描述目標資料夾的位置。如果目標檔案與當前頁面(也就是包含URL的頁面)在同一個目錄,那麼這個檔案的相對URL僅僅是檔名和副檔名,如果目標檔案在當前目錄的子目錄中,那麼它的相對URL是子目錄名,後面是斜槓,然後是目標檔案的檔名和副檔名。
如果要引用檔案層次結構中更高層目錄中的檔案,那麼使用兩個句點和一條斜槓。可以組合和重複使用兩個句點和一條斜槓,從而引用當前檔案所在的硬碟上的任何檔案,
爬蟲系統要處理的URL是指使用超文字傳輸協議HTTP的URL。
URL分為絕對URL和相對URL
絕對URL顯示檔案的完整路徑,這意味著絕對URL本身所在的位置與被引用的實際檔案的位置無關。
相對URL以包含URL本身的資料夾的位置為參考點,描述目標資料夾的位置。如果目標檔案與當前頁面(也就是包含URL的頁面)在同一個目錄,那麼這個檔案的相對URL僅僅是檔名和副檔名,如果目標檔案在當前目錄的子目錄中,那麼它的相對URL是子目錄名,後面是斜槓,然後是目標檔案的檔名和副檔名。
如果要引用檔案層次結構中更高層目錄中的檔案,那麼使用兩個句點和一條斜槓。可以組合和重複使用兩個句點和一條斜槓,從而引用當前檔案所在的硬碟上的任何檔案,
一般來說,對於同一伺服器上的檔案,應該總是使用相對URL,它們更容易輸入,而且在將頁面從本地系統轉移到伺服器上時更方便,只要每個檔案的相對位置保持不變,連結就仍然是有效地。
char * url_normalized(char *url)
{
if (url == NULL) return NULL;
/* rtrim url */
int len = strlen(url);
while (len && isspace(url[len-1]))
len--;
url[len] = '\0';
if (len == 0) {
free(url);
return NULL;
}
/* remove http(s):// */
if (len > 7 && strncmp(url, "http", 4) == 0) {
int vlen = 7;
if (url[4] == 's') /* https */
vlen++;
len -= vlen;
char *tmp = (char *)malloc(len+1);
strncpy(tmp, url+vlen, len);
tmp[len] = '\0';
free(url);
url = tmp;
}
/* remove '/' at end of url if have */
if (url[len-1] == '/') {
url[--len] = '\0';
}
if (len > MAX_LINK_LEN) {
free(url);
return NULL;
}
return url;
}
相關文章
- 網路爬蟲之抓取郵箱爬蟲
- 爬蟲,可用於增加訪問量和抓取網站全頁內容爬蟲網站
- 網路爬蟲專案爬蟲
- 爬蟲抓取網頁資料原理爬蟲網頁
- python爬蟲:使用BeautifulSoup修改網頁內容Python爬蟲網頁
- 網路爬蟲(python專案)爬蟲Python
- 專案--python網路爬蟲Python爬蟲
- Java網路爬蟲實操(9)Java爬蟲
- Python靜態網頁爬蟲專案實戰Python網頁爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python網路爬蟲實戰專案大全!Python爬蟲
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- Python 爬蟲網頁內容提取工具xpath(二)Python爬蟲網頁
- Python 爬蟲網頁內容提取工具xpath(一)Python爬蟲網頁
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- 2019最新《網路爬蟲JAVA專案實戰》爬蟲Java
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- 家居企業如何通過網際網路實現營銷升級?
- [網路爬蟲] 網路爬蟲實踐:大麥網演唱會預約搶票 【待續】爬蟲
- 精通Scrapy網路爬蟲【一】第一個爬蟲專案爬蟲
- Python 爬蟲進階篇-利用beautifulsoup庫爬取網頁文章內容實戰演示Python爬蟲網頁
- 網路爬蟲——爬蟲實戰(一)爬蟲
- Python網路爬蟲抓取動態網頁並將資料存入資料庫MYSQLPython爬蟲網頁資料庫MySql
- 《網頁爬蟲》網頁爬蟲
- python網路爬蟲(9)構建基礎爬蟲思路Python爬蟲
- 網路爬蟲——專案實戰(爬取糗事百科所有文章)爬蟲
- python網路爬蟲--專案實戰--scrapy嵌入selenium,晶片廠級聯評論爬取(6)Python爬蟲晶片
- 入門須知之網路爬蟲的基本流程及抓取策略爬蟲
- Python爬蟲,抓取淘寶商品評論內容!Python爬蟲
- 企業資料爬蟲專案爬蟲
- 利用Python網路爬蟲抓取網易雲音樂歌詞Python爬蟲
- 最新《30小時搞定Python網路爬蟲專案實戰》Python爬蟲
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- Python網路爬蟲之爬取淘寶網頁頁面 MOOC可以執行的程式碼Python爬蟲網頁
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- 網路爬蟲專案開發日誌(三):爬蟲上線準備爬蟲
- 企業資料爬蟲專案(二)爬蟲