urllib库作为python基础的工具,想必大家已经学的差不多了。作为一个有理想,有抱负的小白当然要向python大神进阶。小编查询了一些资料,发现Requests库也是不错的选择。post请求和requests一起处理,有的小伙伴就觉得问题很棘手。在我们掌握了一些基础的爬取知识后,相信大家学习新的库也不会那么困难。接下来就让我们一起学习下吧。
对于 POST 请求来说,我们一般需要为它增加一些参数。那么最基本的传参方法可以利用 data 这个参数。

import requestspayload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
print r.text

运行结果

{"args": {},"data": "","files": {},"form": {"key1": "value1","key2": "value2"},"headers": {"Accept": "*/*","Accept-Encoding": "gzip, deflate","Content-Length": "23","Content-Type": "application/x-www-form-urlencoded","Host": "httpbin.org","User-Agent": "python-requests/2.9.1"},"json": null,"url": "http://httpbin.org/post"
}

可以看到参数传成功了,然后服务器返回了我们传的数据。 有时候我们需要传送的信息不是表单形式的,需要我们传 JSON 格式的数据过去,所以我们可以用 json.dumps () 方法把表单数据序列化。

import json
import requestsurl = 'http://httpbin.org/post'
payload = {'some': 'data'}
r = requests.post(url, data=json.dumps(payload))
print r.text

运行结果

{"args": {},"data": "{\"some\": \"data\"}","files": {},"form": {},"headers": {"Accept": "*/*","Accept-Encoding": "gzip, deflate","Content-Length": "16","Host": "httpbin.org","User-Agent": "python-requests/2.9.1"},"json": {"some": "data"},  "url": "http://httpbin.org/post"
}

通过上述方法,我们可以 POST JSON 格式的数据 如果想要上传文件,那么直接用 file 参数即可 新建一个 a.txt 的文件,内容写上 Hello World!

import requestsurl = 'http://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
r = requests.post(url, files=files)
print r.text

可以看到运行结果如下

{"args": {},"data": "","files": {"file": "Hello World!"},"form": {},"headers": {"Accept": "*/*","Accept-Encoding": "gzip, deflate","Content-Length": "156","Content-Type": "multipart/form-data; boundary=7d8eb5ff99a04c11bb3e862ce78d7000","Host": "httpbin.org","User-Agent": "python-requests/2.9.1"},"json": null,"url": "http://httpbin.org/post"
}

这样我们便成功完成了一个文件的上传。 requests 是支持流式上传的,这允许你发送大的数据流或文件而无需先把它们读入内存。要使用流式上传,仅需为你的请求体提供一个类文件对象即可

with open('massive-body') as f:
requests.post('http://some.url/streamed', data=f)

这是一个非常实用方便的功能。

以上就是Python爬虫中Requests实现post请求 的方法。不成功的小伙伴可以多试试几遍代码,已经学过的可以找找手感,重新再来一遍,知识的累积总是一个漫长的过程。

Requests如何在Python爬虫中实现post请求 ?相关推荐

  1. python爬虫框架怎么安装_celery如何在python爬虫中安装?

    在我们学习了不少关于celery框架的知识后,很多小伙伴已经想要正式使用celery了.这里小编也不知道大家安装好了celery没有~为了照顾一下动手能力不太强的python小白,小编把celery框 ...

  2. python爬虫怎么发布请求_http请求如何在python爬虫中实现?

    最近我们会比较多的提到网页,因为这和python中的爬虫密切相关.当然,我们也会需要处理一些网页的请求.处理http的方法并不是单一的,学过urllib库的小伙伴好好思考下,其中有没有解决的办法呢?答 ...

  3. Python爬虫中最重要、最常见、一定要熟练掌握的库

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 开始正文 Requests库是Python爬虫中最最最最最最重要与常见的库,一定要熟练掌握它. 下 ...

  4. python爬虫用urllib还是reques,python爬虫中urllib.request和requests有什么区别?

    在学习python爬虫,想要检索request相关内容时,往往会出现urllib.request和requests这两个词,urllib.request和requests都是python爬虫的模块,其 ...

  5. 如何在Python Django中处理用户身份验证

    by Mohammed Subhan Khan 由Mohammed Subhan Khan 如何在Python Django中处理用户身份验证 (How to handle user authenti ...

  6. io密集型和cpu密集型_一次说明白Python爬虫中多线程,多进程,异步IO编程

    图/文:迷神 我们在Python爬虫中,重要的是讲究速度,如果有10万或者100万Url地址,写过爬虫的都会知道,那估计是非常慢的.我们的Python爬虫一般IO密集型业务,Python爬虫程序需要发 ...

  7. 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)

    如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...

  8. python中pass的使用_pass语句如何在Python项目中使用

    pass语句如何在Python项目中使用 发布时间:2020-11-16 14:55:02 来源:亿速云 阅读:98 本篇文章为大家展示了pass语句如何在Python项目中使用,内容简明扼要并且容易 ...

  9. python大括号_如何在python字符串中打印文字大括号字符并在其上使用.format?

    如何在python字符串中打印文字大括号字符并在其上使用.format? x = " \{ Hello \} {0} " print x.format(42) 给我:{Hello} ...

最新文章

  1. 轮播图html_【技术篇前端】用html+css实现小米首页部分内容(含源码,不含轮播图)...
  2. DARPA将开发无需手术的神经技术,实现脑机接口
  3. linux ssh 下实现免密码登录
  4. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)
  5. 【java】@Transactional注解与事务
  6. ibatis 3.x 实例
  7. js获取baseurl
  8. 无法更改硬件兼容性时解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”的方法
  9. 网页唤起QQ在线聊天
  10. 霍夫曼编码最简单的实现
  11. Web安全-网页开发者工具
  12. 基于idea-SSM的在线投稿审稿系统-稿件管理-作者管理-稿件审核(javaweb-php-asp.netC#-j2ee)
  13. 机器人足球仿真中的三角进攻算法研究
  14. Android Studio中 安卓模拟器不能联网的解决方案
  15. 利用大顶堆实现top-k算法
  16. 苹果痛下狠手,全面禁止App内部的广告拦截软件
  17. 搭建基于企业微信的SCRM系统
  18. css常用font-family
  19. Java期末考试试题及参考答案(06)
  20. 数字图像处理matlab上机实验 (八)

热门文章

  1. 特斯拉AI Day:车企能造好机器人吗?
  2. AutoCAD命令大全
  3. 南京信息工程大学python期末考试_考研想考南京信息工程大学怎么样?
  4. FMS Dev Guide学习笔记(验证客户端)
  5. 华为harmonyos官网,HarmonyOS
  6. 使用hotspot/cpuperf进行CPU占用分析
  7. AI数字攻防看数字社会基建发展
  8. centos开机启动后只是一条横杠
  9. OSChina 周四乱弹 —— 作为黑洲非人都不能玩游戏了
  10. thinkpad T450 重新安装系统 win 10