这是我用python2.7写的简单教程
准备工作
安装requests lxml模块
pip install requests
pip install lxml
实战应用
首先进入GitHub登陆页面https://github.com/login, 打开Chrome的开发者工具(F12),先尝试输入错误的密码观察浏览器是如何发送请求的。
从浏览器的请求可以看到几个关键信息
- 登陆的URL地址是https://github.com/session
- 登陆需要提供的表单数据有5个
- commit:Sign in
- utf8:✓
- authenticity_token: #这是一种防范CSRF攻击的方式,在请求地址中添加 token 并验证
- login:Family-TreeSY
- password:123456
然后按ctrl+u打开源代码页面,再按下ctrl+f打开搜索栏,查找authenticity_token
可以看到 name=”authenticity_token” 这也是Xpath需要查找的元素
|
|
理解了浏览器登陆时所需的数据获取方式后,就可以开始写代码用Python来模拟登陆了。
解析网页使用Xpath查找所需要的元素
|
|
写入表单数据
|
|
使用POST请求
|
|
登陆成功
|
|