python requests post请求(python使用requests发送post请求)

发送post请求,最主要的还是抓包分析,获取到post提交的参数,然后利用python构建参数字典,模拟发送请求,下面我简单介绍一下过程,实验环境win10+python3.6+pycharm5.0+谷歌浏览器,主要内容如下:

1.这里以模拟登陆我们的校园网为例,界面如下,需要输入用户名、密码:

python requests post请求(python使用requests发送post请求)

接着按F12调出开发者工具,在当前页面输入用户名和密码,点击登陆,抓包分析,如下,可以看到登陆的页面url:

python requests post请求(python使用requests发送post请求)

往下翻,就可以看到页面在post提交时,传递的参数,如下:

python requests post请求(python使用requests发送post请求)

2.针对以上分析结果,我们就可以构建对应的代码了,如下,一个是post参数,一个是headers(模拟浏览器),这里建议用Session,会自动处理cookies,代码如下:

python requests post请求(python使用requests发送post请求)

接着我们就可以试着爬取一些页面,这里以爬取考试成绩为例,如下,利用BeautifulSoup解析一下页面,然后提取信息,打印出来,在上面代码的基础下再添加如下代码:

python requests post请求(python使用requests发送post请求)

程序运行截图如下,已经成功抓取到我们需要的数据:

python requests post请求(python使用requests发送post请求)

至此,我们就完成了利用python来模拟发送post请求。总的来说,整个过程不难,最主要的还是抓包分析,获取post参数,这里的页面比较简单,参数不多,好处理,但在一些比较大的网站中,post参数比较多,而且还有不少是经过加密处理的,或者有验证码,这个就需要自己认真的分析,研究对应的对策了,网上有相关资料,可以自己研究一下,希望以上分享的内容能对你有所帮助吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论