爬蟲筆記-url 、 Domain Name 以及GET帶入參數
認識 域名 和 URL
域名(Domain Name)
是由一串文字組成的網站地址,通常以('.')來隔開不同區域,例如 www.google.com 或是facebook.com 這通常都是由網站擁有者註冊的,可以簡單理解成該網站的名稱
URL
URL(Uniform Resource Locator)翻譯為 統一資源定位符, 他是用來描述該網路資源位置的字串,它包含了該資源的位置、傳輸協定以及存取該資源所需的認證訊息
url=傳輸協定(http、https、ftp、telnet、mailto等)+主機名( www.google.com或facebook.com或 localhost)或IP位址(127.0.0.1)以及文件名或路徑以斜線開頭(/search)等部分
舉例來說 https://google.com/ 就是一個url, 其中 https是一種傳輸協定,www.google.com是主機名, /表示根目錄
這個url包含了 傳輸協定為https, 主機名:www.google.com, 路徑: /search 是資源路徑
這段是查詢字串,用來傳遞資料 或其他資訊
如果GET要附帶參數就是在URL的?之後, 如果不只一組參數時就用&相連接
這邊參數分別有(q,oq,aqs,sourceid,ie)
這當中的q和oq所帶入的值python 表示收尋關鍵字 python 以及python的關聯詞
然後sourced表示使用chrom瀏覽器發出get請求
ie所帶入的UTF-8表示client瀏覽器使用utf-8對HTTP請求進行編碼
aqs是google內部的參數
簡單來說:域名和url都是描述網站的位置和資源,
但域名通常只是網站的名稱
url則有更詳細的傳輸協定,、主機名、路徑、資源名稱、傳遞參數等
網域名稱系統(Domain Name System, DNS)
是重要的網際網路服務.搜尋結果可能包含多個IP位址,因為一個網站可能有多個伺服器提供服務,他使用分散的資料庫來互相轉換IP位址與名稱。如果再使用瀏覽器突然看到「尋找主機」之類的訊息,原因可能就是失去網路連結,第一個懷疑線索就是 DNS故障
DNS 故障可能會導致網站無法連線或網路速度變慢等問題
首先 我們可以使用 socket 通訊端模組找一需DNS函式
這邊有兩個好用的函式
# socket.gethostbyname(域名) 會回傳網域名稱的IP位址
# socket.gethostbyname_ex(域名)
# 會回傳主機名、該主機名的所有替代名稱的列表以及所有IP位址的列表
print(socket.gethostbyname_ex('www.blogger.com'))
-------------------------------------------------------------------
Python/Python311/python.exe c:/Users/K/OneDrive/桌面/k11dv4$/tes.py
('blogger.l.google.com', ['www.blogger.com'], ['172.217.163.41'])
標籤: 爬蟲

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁