前言

Requests: 让 HTTP 服务人类,唯一的一个非转基因的 Python HTTP 库,人类可以安全享用;

Requests继承了urllib2的所有特性,能满足当前网络的需求,支持Python 2.6—3+下完美运行。github开源地址:https://github.com/kennethreitz/requests

一、环境安装

1.利用python的 pip 安装:pip install request

C:\Users\Administrator>pip install request
Collecting request
Using cached https://files.pythonhosted.org/packages/f1/27/7cbde262d854aedf217061a97020d66a63163c5c04e0ec02ff98c5d8f44e/request-2019.4.13.tar.gz
Requirement already satisfied: get in d:\path_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: post in d:\path_python\lib\site-packages (from request) (2019.4.13)
Requirement already satisfied: setuptools in d:\path_python\lib\site-packages (from request) (39.0.1)
Requirement already satisfied: query_string in d:\path_python\lib\site-packages (from get->request) (2019.4.13)
Requirement already satisfied: public in d:\path_python\lib\site-packages (from query_string->get->request) (2019.4.13)
Installing collected packages: request
Running setup.py install for request ... done
Successfully installed request-2019.4.13
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

2.验证request是否安装成功了,cmd输入python,再import request,没有报错就是成功了

C:\Users\Administrator>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import request
>>>

二、发送get请求

小编用的是pycharm,只是写代码提高效率,当然只要是python语法用什么来写都可以,比如用文本,后缀为.py它就可以运行。

1.直接导入 request 库,get 某个 url 就可以访问了,小编get:https://www.cnblogs.com/gsxl/ ,然后用print它的返回信息。

2.rq表示一个请求后返回的响应值,这里我直接用rq.text,查看响应正文内容了。

3.这里还有可以查看状态码、 响应头等等,稍后我们介绍。

import requests

url = 'https://www.cnblogs.com/gsxl/'
rq = requests.get(url)
print(rq.text)

 三、发送get请求带 params参数

1.实现在百度搜索“广深小龙”,我们说一下带参数的,也有另一种可不带参数(这种的话其实参数在url上了)

2.在浏览器内输入:https://www.baidu.com/s?wd=广深小龙 ,打开能正常搜索出来,确认没有问题后我们再写代码

3.定义kw有一个键值对(类似json,这里是字典),kw = {‘kw’:‘广深小龙’},我们只需要在get请求上加一个 params=kw 即可,如下:

四、还可以获取更多的响应对应值,比如我要打印响应码,就直接print(rq.status_code )想知道更多,我们可以直接看它的源码,还有以下部分:

import requests

kw = {'wd': '广深小龙'}
rq = requests.get("http://www.baidu.com/s?", params=kw) print(rq.status_code) # 状态码
print(rq.text) # raw 响应文本
print(rq.headers) # 响应头部...等等
rq.status_code             #响应状态码
rq.content #自动解码
rq.headers #响应头
rq.json() # json解码器
rq.url # 获取url
rq.encoding # 编码格式,一般设置=‘utf-8’
rq.cookies # 获取cookie
rq.raw #原始响应体
rq.text #响应正文

1.开着 fiddler 的时候,在pycharm里面发送请求就会报错,我们把 fiddler 停止(F12)或者关闭就可以了! 
 注意这里有2个坑:

2.响应数据出现乱码解决办法:print(rq.content.decode("utf-8"))

欢迎来QQ交流群:482713805

最新文章

  1. 【NuGet】搭建自己团队或公司的NuGet
  2. js自执行函数的几种不同写法的比较
  3. [20160731][转]JAVA当中变量什么时候需要初始化
  4. topcoder 642
  5. ZOJ Problem Set - 3758 素数
  6. Pots
  7. JavaScript之对象学习
  8. C语言:类似linux内核的分等级DEBUG宏(打印宏)
  9. PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
  10. apache 安装/mod_dir.so: undefined symbol: apr_array_clear
  11. LeetCode 381. Insert Delete GetRandom O(1) - Duplicates allowed (插入删除和获得随机数 常数时间 允许重复项)
  12. VO、DTO、DO、PO
  13. 主席树——树链上第k大spoj COT
  14. SQL 约束 索引
  15. JAVA追加写入文本文件
  16. 《FPGA全程进阶---实战演练》第三十二章 Signal Tap II 应用实例
  17. 【github&&git】5、使用Git拉取GitLab上的项目
  18. winform利用ImageList控件和ListView控件组合制作图片文件浏览器
  19. python复习冒泡排序
  20. aspnet core 2.0 发布之后没有 views文件夹

热门文章

  1. JDK、Spring和Mybatis中使用到的设计模式
  2. 去重合并两个有序链表之直接操作和Set集合操作
  3. Redis删除集群以及重新启动集群
  4. python自增自减?赋值语句返回值?逗号表达式?
  5. 几道STL题目(FJUT - OJ STL训练1)
  6. 001: html基础标签
  7. ##发送post时,设置了utf-8,中文还是乱码?
  8. Android [启动方式:standard singleTop singleTask singleInstance]
  9. 自定义TabLayout的Indicator
  10. 阿里云服务器ecs配置之安装jdk