前言
今天主要讲两个方面:
Requests实现POST请求
今requests可以以多种形式进行post请求,比如form表单形式、json形式等。今天主要以表单形式举例:
Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可。
示例网站:豆瓣网:
有两种方式可以查询提交表单的字段:
第一种:
首先我们找到登录的元素,在输入账号处选中–>右键–>检查
然后直接查询网页源代码去找到上面的部分,根据标签来观察提交的表单参数python发送post请求,这里强调一下:
form标签和form标签下的input标签非常重要,form标签中的action属性代表请求的URL,input标签下的name属性代表提交参数的KEY。
代码参考如下:
import requests
url="https://www.douban.com/accounts/login" #action属性
params={
"source":"index_nav", #input标签下的name
"form_email":"xxxxxx", #input标签下的name
"form_password":"xxxxxx" #input标签下的name
}
html=requests.post(url,data=params)
print(html.text)
运行后发现已登录账号
第二种:
通过浏览器Network项查询表单参数:
点击右键–>检查–>选择Network
然后手动输入账号和密码登录,此时显示加载了文件,选择加载的第一个文件:
选中后,查看Headers字段下的数据,会发现请求的URL
往下拉,会发现字段参数:
然后再按照上面的代码写一下就可以了。
Cookie模拟登录
Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
我们可以通过手动登录后python发送post请求,查看浏览器的Network选项找到cookie值,记住cookie值不要透露出去。
操作步骤:
右键–>检查–>选择Network–>手动登录–>在加载文件中找到本网址的Name
得到cookie和URL之后,把cookie添加到headers中,运行,代码如下:
import requests
url="https://www.douban.com/"
header={"Cookie":'XXXXXXXXXXXXXXXX'} #cookie值不要泄露
html=requests.get(url,headers=header)
print(html.text)
希望对新人有所帮助!
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688