使用
requests
库中的post(url,params)
方法,先通过观察表单的网页源代码,或者是通过逆向工程的方法获取表单提交的字段,构造参数params
,就能实现模拟登录操作.
例如:url = 'http://xxx.com/login' captcha = input() params = { 'email': 'xxx@163.com', 'password': '********', } html = requests.post(url, params)
就是一个典型的利用Post登录网站的方法.
不过想要获取表单进行提交还需要一些技巧,下面将描述两个获取的方法.
查看网页源代码提交表单
以 https://www.douban.com/豆瓣网为例,豆瓣网的登录只需要填写账号和密码就能登录.
我们根据表单找到相应的源代码信息:
其中,<form>
标签是表单,<form>
中的action=
为表单提交的URL,下面<fieldset>
中<input>
为表单提交的字段,name=
就是字段的名称,由此可以构造表单进行登录.(因为没有验证码,所以只需要构造来源,邮箱,密码即可登录)
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; W