九 在Scrapy中模擬登陸

2022-06-30 12:51:08 字數 1428 閱讀 8723

使用formrequest.from_response()方法模擬使用者登入

官方參考文件:

1、說明

通過**會實現對某些表單字段(如資料或是登入介面中的認證令牌等)的預填充。

使用scrapy抓取網頁時,如果想要預填充或重寫像使用者名稱、使用者密碼這些表單字段,可以使用`formrequest.from_response()`方法實現

類原型:from_response(

response,  #乙個包含html表單的響應頁面

formname(string)=none,  # 如果不為none,表單中的name屬性將會被設定為這個值

formnumber(int)=0,  # 當響應頁面中包含多個html表單時,本引數用來指定使用第幾個表單,第乙個表單數字為0

formdata(dict)=none,  #本引數用來填充表單中屬性的值,如果其中乙個屬性的值在響應頁中已被預填充,formadta中的值會將預填充的值覆蓋掉

formxpath(string)=none,  # 如果頁面中有多個html表單,可以用xpath表示式定位頁面中的表單,第乙個被匹配的將會被操作

callback(callable),  請求成功後,呼叫的方法

2、參考**

import

scrapy

class

loginspider(scrapy.spider):

name = "

example.com

"start_urls = ['

']defparse(self,response):

return

scrapy.formrequest.from_response(

response,

formdata=,

callback=self.after_login,

)defafter_login(self,response):

#在執行下一步之前檢查是否登入成功if"

Scrapy 模擬登陸

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

Scrapy中用cookie模擬登陸新浪微博

最近想做乙個微博的搜尋頁文字分析的小專案,因為開放平台裡這個api的限制略多,決定進入爬蟲坑自己動手 之前久聞scrapy大名,嘗試了一下,抓取網頁甚是好用,避免了許多http方面的繁瑣處理 不過還是卡在了登陸這一步上 在scrapy中具體實現時,就是在爬取的spider類中,過載start req...

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

我們知道有一些 是需要驗證碼才可以登陸的,比如豆瓣網在錯誤輸入幾次賬號密碼後,都會需要提交包含驗證碼的表單才可以登陸,便需要處理驗證碼型登陸 技術路徑 scrapy爬蟲框架。技術重點 還是scrapy的formrequest方法。由於由於不涉及到豆瓣網登陸後頁面的解析 老生常談的問題了 我們只需要編...