91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

為什么用Scrapy無法使用Cookies登錄

發布時間:2021-11-09 18:02:38 來源:億速云 閱讀:192 作者:柒染 欄目:大數據

這篇文章給大家介紹為什么用Scrapy無法使用Cookies登錄,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

我們知道,網站使用 Cookies 來記錄用戶的登錄狀態。如果我們從瀏覽器中把 Cookies 復制下來,放到爬蟲中,在某些情況下,就可以讓爬蟲直接訪問到登錄后的頁面。

以練習頁面http://exercise.kingname.info/exercise_login_success為例。在沒有登錄的情況下,訪問這個地址,會自動跳轉到登錄頁面,如下圖所示:

為什么用Scrapy無法使用Cookies登錄  

輸入用戶名kingname,密碼genius,點選自動登錄,并點擊登錄按鈕,跳轉到登錄成功的頁面,如下圖所示:

為什么用Scrapy無法使用Cookies登錄  

一旦登錄成功,即使關閉瀏覽器再重新打開該網址,依然會直接進入登錄后的頁面。

我們在 Chrome 的開發者工具中可以看到在登錄后,當我們刷新頁面時發送的請求:

為什么用Scrapy無法使用Cookies登錄  

Request Headers里面可以看到請求頭,在請求頭中包含了 Cookie項。

當我們使用 Requests 訪問這個網址時,只要請求頭中含有這個 Cookie,我們就能直接訪問到請求成功的頁面,如下圖所示:

為什么用Scrapy無法使用Cookies登錄  

整個過程非常簡單并直觀。

但如果你想使用 Scrapy 做同樣的事情,你會發現登錄失敗了。如下圖所示:

為什么用Scrapy無法使用Cookies登錄  

這其中的關鍵,就在于 Scrapy 發起請求的時候,并不會使用 Headers 中的 Cookie,而是單獨有一個cookies參數。

當使用 Request 時,Cookie在 Headers 中是以字符串的形式存在,不同的項目之間使用分號連接,項目內的鍵值之間使用冒號連接。

但是在 Scrapy 中,傳給cookies參數的值是一個字典,字典的 key 就是各個項目的 key,值就是各個項目的值。

所以我們對 Scrapy 的代碼稍作修改,從Headers 中移除 Cookie 項,并改成字典形式,傳給 cookies參數,再次請求發現請求成功:

為什么用Scrapy無法使用Cookies登錄  

關于為什么用Scrapy無法使用Cookies登錄就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湘西| 剑川县| 囊谦县| 巍山| 南充市| 会同县| 门头沟区| 丹棱县| 保定市| 钟山县| 临沭县| 蕉岭县| 民乐县| 临江市| 垦利县| 鄂州市| 竹山县| 宁化县| 商河县| 安徽省| 无锡市| 元朗区| 临夏县| 新化县| 新乡市| 鄂伦春自治旗| 龙海市| 辉南县| 乌什县| 保康县| 新绛县| 连州市| 乳源| 仙游县| 金阳县| 漠河县| 信宜市| 葵青区| 含山县| 黄冈市| 慈利县|