url又叫作統一資源定位符,是用於完整地描述internet上網頁和其他資源的位址的一種方法。類似於windows的檔案路徑。
1.http://:這個是協議,也就是http超文字傳輸協議,也就是網頁在網上傳輸的協議。
2.mail:這個是伺服器名代表著是乙個郵箱伺服器,所以是mail。
3.163.com:這個是網域名稱,是用來定位**的獨一無二的名字。
4.mail.163.com:這個是**名,由伺服器名+網域名稱組成。
5./:這個是根目錄,也就是說,通過**名找到伺服器,然後在伺服器存放網頁的根目錄。
6.index.html:這個是根目錄下的網頁。
7.這個叫做url,統一資源定位符,全球性位址,用於定位網上的資源。
就像打**一樣,http到底和伺服器說了什麼,才能讓伺服器返回正確的訊息的,其實客戶端的請求告訴了伺服器這些內容:請求行、請求頭部、空行、請求資料
http請求可以使用多種請求方法,但是爬蟲最主要就兩種方法:get和post方法。
get請求:一般情況下,只從伺服器獲取資料下來,並不會對伺服器資源產生任何影響的時候會使用get請求。
post請求:向伺服器傳送資料(登入)、上傳檔案等,會對伺服器資源產生影響的時候會使用
post請求。
以上是在**開發中常用的兩種方法。並且一般情況下都會遵循使用的原則。但是有的**和伺服器為了做反爬蟲機制,也經常會不按常理出牌,有可能乙個應該使用get方法的請求就一定要改成post請求,這個要視情況而定。
get與post方法的區別:
1.get是從伺服器上獲取資料,post是向伺服器傳送資料
2.get請求引數都顯示在瀏覽器**上,即get"請求的引數是url的一部分。例如:
3.post請求引數在請求體當中,訊息長度沒有限制而且以隱式的方式進行傳送,通常用來向http伺服器提交量比較大的資料。請求的引數型別包含在"content-type"訊息頭里,指明傳送請求時要提交的資料格式。
注意:**製作者一般不會使用get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用get方式,使用者輸入的使用者名稱和密碼將在位址列中暴露無遺。並且瀏覽器會記錄歷史資訊,導致賬號不安全的因素存在。
請求頭描述了客戶端向伺服器傳送請求時所使用的編碼,以及傳送內容的長度,告訴伺服器自己有沒有登陸,採用的什麼瀏覽器訪問的等等。
1.accept:瀏覽器告訴伺服器自己接受什麼資料型別,文字,等。
2.accept-charset:瀏覽器申明自己接收的字符集。
3.accept-encoding:瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支援壓縮,支援什麼壓縮方法(gzip, deflate,br)。
4.accept-language:瀏覽器申明自己接收的語言。
5.authorization:授權資訊,通常出現在對伺服器傳送的www-authenticate頭的應答中。
6.content-length表示請求訊息正文的長度。
7.origin:宣告請求資源的起始位置
8.connection:處理完這次請求後,是斷開連線還是繼續保持連線。9.cookie:傳送給web伺服器的cookie內容,經常用來判斷是否登陸了。
9.cookie:傳送給web伺服器的cookie內容,經常用來判斷是否登陸了。
10.host:客戶端指定自己想訪問的web伺服器的網域名稱/ip位址和埠號。
11.if-程式設計客棧modified-since:客戶機通過這個頭告訴伺服器,資源的快取時間。只有當所請求的內容在指定的時間後又經過修改才返回它,否則返回304"not modified"應答。
12.pragma:指定"no-cache"值表示伺服器必須返回乙個重新整理後的文件,即使它是**伺服器而且已經有了頁面的本地拷貝。
13.referer:告訴伺服器該頁面從哪個頁面鏈結的。
14.from∶請求傳送者的email位址,由一些特殊的web客戶程式使用,瀏覽器不會用到它。
15.(user-agent:瀏覽器表明自己的身份(是哪種瀏覽器)
16.upgrade-insecure-requests∶申明瀏覽器支援從http請求自動公升級為https請求,並且在以後傳送請求的時候都使用https。
ua-p程式設計客棧ixels,ua-color,ua-os,ua-cpu:由某些版本的ie瀏覽器所傳送的非標準的請求頭,表示螢幕大小、顏色深度、作業系統和cpu型別。
在我們用requests模組請求資料的時候攜帶上訴請求報頭的字段資訊,將我們的爬蟲**進行偽裝。同樣的偽裝之後我們也可以通過**檢視請求體的字段資訊,有如下幾種常見的屬性:
#檢視請求體中的url位址
response.request.url
#檢視請求體中的請求頭資訊
response.request.headers
#檢視請求體中的請求方法
response.request.method
Python爬蟲基礎講解(五) 響應
http響應報文也由三部分組成 響應行 響應頭 響應體 響應行一般由協議版本 狀態碼及其描述組成比如http 1.1 200 ok 其中協議版本http 1.1或者http 1.0,200就是它的狀態碼,ok則為它的描述。響應頭用於描述伺服器的基本資訊,以及資料的描述,伺服器通過這些資料的描述資訊,...
python爬蟲案例講解 Python爬蟲案例集合
伺服器返回的類檔案物件支援python檔案物件的操作方法 read 方法就是讀取檔案裡的全部內容,返回字串 html response.read 列印響應內容 我們需要稍微偽裝下,要不然第一步就會被反爬蟲發現 usr bin env python coding utf 8 import urllib...
Python基礎語法8 爬蟲請求
1.response物件常用屬性 res.status code 檢查請求是否成功 res.content 把response物件轉為二進位制資料 res.text 把response物件轉為字串資料 res.encoding 定義response物件的編碼 2.res.status code 值的...