我正在尝试使用scrapy在某些网站上发布回复。所以我必须使用自己的用户帐户和密码登录。幸运的是,scrapy只需要我填写这样的表格:
FormRequest.from_response(response,
formdata={'username': 'john', 'password': 'secret'},
callback=self.after_login)]
但问题是某些网站将用户名命名为“username”,而其他网站则将其命名为“user”或其他任何内容。那么如何使用Chrome或Firefox中的开发人员工具查找登录数据?几个月前,我可以在“网络”下找到它。它假设看起来像这样: 但现在我尝试了几个网站,它们都没有给我登录数据。有人可以帮忙吗?谢谢! 我们可以使用github作为例子。
答案 0 :(得分:0)
但问题是某些网站将用户名命名为"用户名"而其他人则将其命名为" user"
要处理不同的凭据字段名称,请尝试使用loginform。
def parse_login(self, response):
data, url, method = fill_login_form(response.url, response.body,
'login', 'password')
return scrapy.FormRequest(url, formdata=dict(data),
method=method, callback=self.parse_next_page)
但是现在我尝试了几个网站,它们都没有给我登录数据。
尝试检查Network
标签上的preserve log复选框。