scrapy模擬登陸豆瓣網 處理驗證碼登陸

2022-09-04 13:00:12 字數 1303 閱讀 8098

我們知道有一些**是需要驗證碼才可以登陸的,比如豆瓣網在錯誤輸入幾次賬號密碼後,都會需要提交包含驗證碼的表單才可以登陸,便需要處理驗證碼型登陸

技術路徑:scrapy爬蟲框架。

技術重點:還是scrapy的formrequest方法。

(由於由於不涉及到豆瓣網登陸後頁面的解析(老生常談的問題了)。我們只需要編寫spider模組的**就可以了。)

我們給出**

:#用於獲取驗證碼的鏈結

login_pic_url=response.xpath(

'//*[@id="captcha_image"]/@src'

).extract_first(

)print

('獲取驗證碼url中'

)#這裡列印出驗證碼的鏈結,開啟瀏覽器檢視鏈結,記錄下驗證碼

print

(login_pic_url)

#在這裡的表單中填寫驗證碼

data=

#利用formrequest.from_response()方法提交表單

完成頁面解析

yield formrequest.from_response(response,formdata=data,callback=self.parsepage)

#解析登陸後的頁面,解析內容可自己實現,在這裡就以儲存網頁作為解析內容

defparsepage

(self, response)

:with

open

('d:/豆瓣.html'

,'wb'

)as f:

f.write(response.body)這樣我們就實現了模擬登陸需要驗證碼的**。

Scrapy 模擬登陸

1.重寫 爬蟲中的start requests 方法,直接攜帶cookies 進行登入 注意的是在scrapy 中,cookies 不能放在headers 中,而需要把cookies作為乙個獨立的引數。因為在scrapy配置檔案中單單獨定義了乙個cookies配置,讀取cookies 會直接從該配中...

豆瓣簡單模擬登陸

找到登陸介面後,用requests.post 請求該網頁url,之後將得到的cookie存入本地。遇到什麼問題?引數問題,在requests的post中要用,data。在get中要用params,這個就搞人了。給我感覺cookie的作用。沒有cookie,一些 是不能爬取的,要爬就需要cookie,...

Python爬蟲模擬登陸豆瓣

coding utf 8 import requests,re from pil import image class doubanspider object def init self self.session requests.session def login self,username,pa...