使用Python的requests登陆拉勾网,requests需要attribute为name的内容,但是拉钩的登陆页面:
(https://passport.lagou.com/login/login.html)里面,用户名和密码的部分没有name是空的,具体如下:
用户名部分的HTML:
<input type="text" class="input input_white" id="" name=""
placeholder="请输入已验证手机/邮箱" data-required="required"
autocomplete="off" >
密码部分HTML:
<input type="password" class="input input_white" id=""
name="" placeholder="请输入密码" data-required="required"
autocomplete="off" >
请问高手如何处理?或者有别的module推荐?先谢谢了!
我一般用selenium+photomJS来模拟登录一些页面内容动态加载的网站,python-selenium对Ajax加载的内容专门有解决方法
抓个包就知道了。。
在拉钩登录页面按F12打开开发者工具栏,切换到Network一栏上,然后在输入框中输入错误的用户名和密码提交之后,会看到network
标签内,有一个login.json
,点击会看到刚才的请求内容,可以在Headers
看到form 表单的字段,也就是你需要的name
。
python当中最常见的模块就是requests,大概没有更好的了。而且你换其他库,也需要input 的 name
真心建议所有学HTTP模拟的人先把HTTP协议浏览一遍.
这个不是简单的表单提交,而是用ajax把表单数据提交的,所以input标签里面有没有name无所谓,在chrome上打开审查元素,选择network,XHR,,然后在登陆页面的表单上填写错误的信息,就能看到发出的异步请求了