python接口自動化2-第一次發送get請求

  • 2019 年 10 月 20 日
  • 筆記

前言

Requests: 讓 HTTP 服務人類,唯一的一個非轉基因的 Python HTTP 庫,人類可以安全享用;

 

Requests繼承了urllib2的所有特性,能滿足當前網絡的需求,支持Python 2.6—3+下完美運行。github開源地址:https://github.com/kennethreitz/requests

一、環境安裝

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

C:UsersAdministrator>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_pythonlibsite-packages (from request) (2019.4.13)
Requirement already satisfied: post in d:path_pythonlibsite-packages (from request) (2019.4.13)
Requirement already satisfied: setuptools in d:path_pythonlibsite-packages (from request) (39.0.1)
Requirement already satisfied: query_string in d:path_pythonlibsite-packages (from get->request) (2019.4.13)
Requirement already satisfied: public in d:path_pythonlibsite-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:UsersAdministrator>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                        #響應正文

 

 注意這裡有個坑:開着 fiddler 的時候,在pycharm裏面發送請求就會報錯,我們把 fiddler 停止(F12)或者關閉就可以了!