我正在尝试使用Scrapy登录网站。我已经成功地为其他网站做了这个,但这次我似乎遇到了麻烦,我不确定原因。
附件是运行此代码时我得到的响应的屏幕截图,以及我尝试登录的页面的检查。
import scrapy
class iauditorSpider(scrapy.Spider):
name = "iauditor"
start_urls = ['https://app.safetyculture.io/login.html']
def parse(self, response):
return scrapy.FormRequest.from_response(
response,
formid = 'login-form',
formdata={'email': 'example@email.com',
'password': 'secret'},
callback=self.after_login
)
def after_login(self, response):
#Check login success before continuing
if(b'Those details don\'t appear to be correct.' in response.body):
self.logger.error("Login Failed.")
return
我之前使用几乎完全相同的代码成功登录其他网站,所以我很困惑为什么这次没有工作。
答案 0 :(得分:1)
快速猜测,您必须发送标题和Cookie才能执行登录。
Developer Tools
并转到Network
标签Preserve Logs
或Persist
以确保在重定向到其他网页时保留日志Copy as cURL (bash)
就是这样,现在你已经有了完整的Python代码来执行登录。