初識爬蟲基礎

ProxyHandler處理器以及認識cookie

常見的代理有:
西刺免費代理IP:http://www.xicidaili.com/

快代理(內有免費):http://www.kuaidaili.com/
在這裏插入圖片描述
代理雲:http://www.dailiyun.com/

ProxyHandler處理器(代理):
1.代理的原理:在請求目的網站之前,先請求代理服務器,然後讓代理服務器去請求目的網站,代理服務器拿到目的網站的數據後,再轉發給我們的代碼。

2.http://httpbin.org :這個網站可以方便的查看http請求的一些參數

3.在代碼中使用代理:

  • 使用’urllib.request.ProxyHandler’,傳入一個代理,這個代理是一個字典,字典的key依賴於代理服務器能夠接受的類型,一般是’http’或者’https’,值是’ip:port’

  • 使用上一步創建的’handler’,以及’request.build_opener’創建一個’opener’

  • 使用上一步創建的’opener’,調用’open’函數,發起請求。
    示例代碼如下:

from urllib import request


url = 'http://httpbin.org/ip'
#1.使用ProxyHandler,傳入代理構建一個handler
handler = request.ProxyHandler({'http':'171.35.171.246:8010'})

# 2.使用上面創建的handler構建一個opener**
opener = request.build_opener(handler)

# 3.使用opener去發送一個請求**
resp = opener.open(url)
print(resp.read())

瞭解了什麼是COOKIE:
在網站中,http請求是無狀態的。也就是說即使第一次和服務器連接後並且登錄成功後,第二次請求服務器依然不會知道當前請求是哪個用戶。
cookie的出現就是爲了解決這個問題,第一次登錄後服務器返回一些數據(cookie)給瀏覽器,然後瀏覽器保存在本地,當地用戶發送第二次請求的時候,就會自動的把上次請求儲存的 COOKIE 數據自動的攜帶給服務器,服務器通過瀏覽器攜帶的數據就可以判斷用戶是哪個了。
cookie存儲的數據量有限,不同的瀏覽器有不同的存儲大小,但一般不會超過4kb,因此cookie只能存儲一些小量的數據
cookie的格式:

Set-Cookie: NAME=VALUE;Expires/Max-age=DATE;Path=Path;Domain=DOMAIN_NAME;SECURE

參數意義

NAME:COOKIE的名字

value : cookie的值

Expires: cookie的過期時間(一般需要傳入一個時間值,比如傳入一個小時,系統就一個小時後失效)

Path:cookie作用的路徑

Domain:cookie作用的域名

SECURE:是否只是在https協議下起作

今日總結。
爬蟲學的好····
加油。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章