我尝试使用Scrapy shell登录此表单。但我不确定是否使用了表单字段的正确名称。
获取令牌工程
token = response.css("form input[name=_csrf_token]::attr(value)").extract_first()
字符串
这是我正在使用的呼叫
FormRequest.from_response(response,formdata={'_csrf_token':token,'email':'Somepassword','password':'[email protected]'})
型
我尝试使用id值,name值,type值,但没有一个让我登录到网站。
这里是用户名字段
<div class="g-form-group g-mb-3">
<label class="g-form-label g-form-label--small" for="login-form_email">Email Address</label>
<input class="g-form-input" id="login-form_email" name="login[email]" type="email"></div>
型
这是密码字段
<div class="g-form-group g-mb-3">
<label class="g-form-label g-form-label--small" for="login-form_password">Password</label>
<input class="g-form-input" id="login-form_password" name="login[password]" type="password">
</div>
型
我没有得到一个错误.后发生,但当我试图查看(响应)我得到的登录页面,所以我没有登录到网站.我如何纠正我的请求登录到网站,并验证我已经成功登录?
如果需要的话,我尝试登录的站点是这个
https://auth.pff.com/
1条答案
按热度按时间k4ymrczo1#
根据您提供的HTML,表单字段是login[email]和login[password]。您应该在表单数据字典中使用这些名称。
即
字符串
来源:我的文章https://ioflood.com/blog/python-web-scraping/#Alternative_Python_Web_Scraping_Techniques_Scrapy_and_APIs