scrapyのFormRequestを利用してサイトにログインしようとしていますがうまくいきません。
下記のサイトを参考にしてコードを書きました。
FormRequest.from_response() を使用してユーザーログインをシミュレートする
python
1import scrapy 2 3def authentication_failed(response): 4 pass 5 6class LoginSpider(scrapy.Spider): 7 name = 'myspider' 8 start_urls = ['https://site2.sbisec.co.jp/ETGate/?_ControlID=WPLEThmR001Control&_PageID=DefaultPID&_DataStoreID=DSWPLEThmR001Control&_ActionID=DefaultAID&getFlg=on'] 9 10 def parse(self, response): 11 return scrapy.FormRequest.from_response( 12 response, 13 formdata={'id': 'id', 'password': 'password'}, 14 callback=self.after_login 15 ) 16 17 def after_login(self, response): 18 if authentication_failed(response): 19 self.logger.error("Login failed") 20 return 21 22 def parse(self, response): 23 yield {'text': response.xpath('//p/text()').getall(),}
最後の2行はログインできたことを確認するため、表示されたテキストを抜き出そうとしています。
何が間違っていますでしょうか?
よろしくお願いいたします。
あなたの回答
tips
プレビュー