首先介紹下cookie內容,什麼是cookie。cookie的引文原意是「點心」,它是在客戶端訪問web伺服器時,伺服器在客戶端硬c盤上存放的資訊,好像是伺服器傳送給客戶的「點心」。伺服器可以根據cookie來跟蹤客戶狀態,這對於需c要區別客戶的場合(如電子商務)特別有用。當客戶端首次請求訪問伺服器時,伺服器先在客戶端存放包含該客戶的相關資訊的cookie,以後客戶端每次請求訪問伺服器時,都會在http請求資料中包含cookie,伺服器解析http請求中的cookie,就能由此獲得關於客戶的相關資訊。下面是cookie產生和使用過程
客戶端傳送乙個http請求到伺服器端 伺服器端傳送乙個http響應到客戶端,其中包含set->cookie頭部 客戶端傳送乙個http請求到伺服器端,其中包含cookie頭部 伺服器端傳送乙個http響應到客戶端set-cookie: name=value;expires/max-age=date;path=path; domain=domain_name; secure
value:cookie 的值在我們瀏覽器中,我們可以通過開發者模式檢視cookie,比如我現在檢視csdn上儲存的cookieexpires:cookie 的過期時間
path:cookic 作用的路徑
domain:cookie 作用的網域名稱
secure:是否只在 https 協議下起作用
補全了cookie的內容後,現在開始正式內容。下面將以訪問人人網的
為例,如果我們不使用cookie時,通過會怎麼樣,我將獲取的內容儲存到本地的
index.html
檔案中,執行下面的**:獲取的內容爛七八糟,但是能夠發現這是人人網的登入或者註冊介面,這就是因為在訪問url =
""headers =
con = request.request(url,headers=headers)
re = request.urlopen(con)
with
open
("index.html"
,"w"
, encoding=
"utf-8"
)as f:
count = f.write(re.read(
).decode(
"utf-8"))
(count)
**時,伺服器沒有查詢到cookie引數,預設為是非法訪問,然後直接跳轉到登入介面,讓使用者登入才能進入,如果我們使用瀏覽器開啟,也是下面的現象
下面將在**中使用我使用瀏覽器登入人人網後,看到到的cookie進行登入。
再次開啟from urllib import request
url =
""headers =
con = request.request(url,headers=headers)
re = request.urlopen(con)
with
open
("index.html"
,"w"
, encoding=
"utf-8"
)as f:
count = f.write(re.read(
).decode(
"utf-8"))
(count)
index.html
檔案,檢視效果,發現能夠正常獲取到**的資訊小結
首先我們需要了解什麼是cookie,以及cookie的重要性
其次,需要自己動手實現上面的樣例,有的**會有很強的反爬機制,使用靜態cookie是不行的,那麼就需要利用到我之前介紹的cookiejar庫使用
python靜態爬蟲概念
1.什麼是爬蟲 網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動的抓取全球資訊網資訊的程式或者指令碼。另外一些不常使用的名字還有螞蟻,自動索引,模擬程式或者蠕蟲。其實通俗的講就是通過程式去獲取web頁面上自己想要的資料,也就是自動抓取資料...
Python爬蟲之PyQuery使用(六)
pyquery能夠通過選擇器精確定位 dom 樹中的目標並進行操作。pyquery相當於jquery的python實現,可以用於解析html網頁等。它的語法與jquery幾乎完全相同,對於使用過jquery的人來說很熟悉,也很好上手。有 4 種方法可以進行初始化 可以通過傳入 字串 lxml 檔案 ...
python 爬蟲筆記 簡單靜態
不太懂網頁上的專業術語。1.首先檢視頁面源 檢視要爬取的資料是什麼樣的,在哪個標籤下,能不能用xpath或者bs4取出來。2.f12此頁面,重新整理檢視頁面響應時,能看到的資訊。主要是訊息頭里的請求 請求方法,host,user agent,cookie以及引數裡的資料。及時檢視響應,看出現的頁面是...