requests基礎(chǔ)總結(jié)

1.需要導(dǎo)入requests包

import requests

2.get的使用

# final_url = "http://gamefunc.cc.163.com/integral/acu_billboard?uid=185311124&month=&page=1&size=10&game=7
# 獲取json數(shù)據(jù)
url = "http://gamefunc.cc.163.com/integral/acu_billboard?"

# 添加參數(shù)
params = {'uid': 185311124, 'month': '', 'page': 1, 'size': 10, 'game': 7}
r = requests.get(url=url, params=params)
print(r.url)

# 返回的結(jié)果類型
print(type(r))
# 返回的結(jié)果的狀態(tài)碼
print(r.status_code)
# 編碼方式
print(r.encoding)
# 響應(yīng)的Cookies內(nèi)容
print(r.cookies)
# 響應(yīng)的內(nèi)容,如一個html文件或者直接cookie內(nèi)容
print(r.text)
# 利用 json() 方法解析椭迎,比如將utf-8數(shù)據(jù)轉(zhuǎn)成Unicode
print(r.json())

輸出結(jié)果:

http://gamefunc.cc.163.com/integral/acu_billboard?size=10&month=&uid=185311124&game=7&page=1
<class 'requests.models.Response'>
200
UTF-8
<RequestsCookieJar[]>
{"reason": "Success", "code": 0, "data": {"revenue_score": 0, "is_official": 0, "guild_rank": 0, "last_month": "2018-08", "gift_score": 0, "cur_month": "2018-09", "in_wlist": 0, "rank": 0, "num": 0, "billboard": [{"status": 3, "topcid": 5260583, "uid": 136701777, "head_url": "http://cc.fp.ps.netease.com/file/5a9b48b6aa49f12552782db93Wz8USyM", "subcid": 5313383, "nick": "\u3010\u8352\u91ce183\u3011\u53f8\u4ee4 \u4e0d\u5fd8\u521d\u5fc3", "num": 451, "roomid": 183, "ccid": 240299729}, {"status": 1, "topcid": 0, "uid": 248357642, "head_url": "http://cc.res.netease.com/webcc/portrait/nsep/headicon/builtin/38", "subcid": 0, "nick": "cc\u99a8\u513f", "num": 396, "roomid": 0, "ccid": 326455965}, {"status": 1, "topcid": 0, "uid": 207464170, "head_url": "http://cc.fp.ps.netease.com/file/5b50c8df8b74274d91021a95FeTueVys", "subcid": 0, "nick": "\u5fae\u5a31-\u827e\u57ce\u4e3b", "num": 353, "roomid": 0, "ccid": 272325988}, {"status": 1, "topcid": 0, "uid": 208440838, "head_url": "http://cc.fp.ps.netease.com/file/5adb35d86f0494dd5b3034d2cMmzO7fi", "subcid": 0, "nick": "\u5fae\u5a31-\u5e05\u5230\u70b8\u5b87\u5b99", "num": 348, "roomid": 0, "ccid": 273488066}, {"status": 1, "topcid": 0, "uid": 101216346, "head_url": "http://cc.fp.ps.netease.com/file/5affd799143cfa16323c2435WvzY6rQR", "subcid": 0, "nick": "\u301058555\u3011\u9177\u9177\u7684\u8001\u56db", "num": 335, "roomid": 0, "ccid": 127956484}, {"status": 1, "topcid": 0, "uid": 200331439, "head_url": "http://cc.fp.ps.netease.com/file/5b7cafd86f049425f4c421180aj2oouk", "subcid": 0, "nick": "\u3010\u8352\u91ce183\u3011 \u5751\u54e5", "num": 326, "roomid": 0, "ccid": 263548132}, {"status": 1, "topcid": 0, "uid": 203546860, "head_url": "http://cc.fp.ps.netease.com/file/5a8d1314a7f2522d20367160zbmy3iY3", "subcid": 0, "nick": "9166\u309e\u8089\u997c\u3010\u672c\u6708\u968f\u7f18\u64ad\u3011", "num": 319, "roomid": 0, "ccid": 267481293}, {"status": 4, "topcid": 5260583, "uid": 192317854, "head_url": "http://cc.fp.ps.netease.com/file/5b69d2678b74278cacc6facdXA5epHFT", "subcid": 5297328, "nick": "\u3010\u8352\u91ce183\u3011\u5c0f\u5634\u5f88\u751c", "num": 307, "roomid": 183, "ccid": 253532271}, {"status": 4, "topcid": 4862438, "uid": 248719094, "head_url": "http://cc.fp.ps.netease.com/file/5b8756eca7f2521c6c87999azz3GWyVy", "subcid": 5648852, "nick": "Cc\u76f4\u64adYoYo", "num": 306, "roomid": 2121, "ccid": 326876740}, {"status": 1, "topcid": 0, "uid": 202665175, "head_url": "http://cc.fp.ps.netease.com/file/5b4c6d4696dee41e8f3f9591YwzhedtV", "subcid": 0, "nick": "22155\u4e36\u5927\u524d\u95e8", "num": 304, "roomid": 0, "ccid": 266344933}], "acu_score": 0, "total": 1917, "page": 1, "size": 10}}
{'reason': 'Success', 'code': 0, 'data': {'page': 1, 'gift_score': 0, 'is_official': 0, 'billboard': [{'roomid': 183, 'status': 3, 'head_url': 'http://cc.fp.ps.netease.com/file/5a9b48b6aa49f12552782db93Wz8USyM', 'ccid': 240299729, 'num': 451, 'nick': '【荒野183】司令 不忘初心', 'uid': 136701777, 'topcid': 5260583, 'subcid': 5313383}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.res.netease.com/webcc/portrait/nsep/headicon/builtin/38', 'ccid': 326455965, 'num': 396, 'nick': 'cc馨兒', 'uid': 248357642, 'topcid': 0, 'subcid': 0}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5b50c8df8b74274d91021a95FeTueVys', 'ccid': 272325988, 'num': 353, 'nick': '微娛-艾城主', 'uid': 207464170, 'topcid': 0, 'subcid': 0}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5adb35d86f0494dd5b3034d2cMmzO7fi', 'ccid': 273488066, 'num': 348, 'nick': '微娛-帥到炸宇宙', 'uid': 208440838, 'topcid': 0, 'subcid': 0}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5affd799143cfa16323c2435WvzY6rQR', 'ccid': 127956484, 'num': 335, 'nick': '【58555】酷酷的老四', 'uid': 101216346, 'topcid': 0, 'subcid': 0}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5b7cafd86f049425f4c421180aj2oouk', 'ccid': 263548132, 'num': 326, 'nick': '【荒野183】 坑哥', 'uid': 200331439, 'topcid': 0, 'subcid': 0}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5a8d1314a7f2522d20367160zbmy3iY3', 'ccid': 267481293, 'num': 319, 'nick': '9166ゞ肉餅【本月隨緣播】', 'uid': 203546860, 'topcid': 0, 'subcid': 0}, {'roomid': 183, 'status': 4, 'head_url': 'http://cc.fp.ps.netease.com/file/5b69d2678b74278cacc6facdXA5epHFT', 'ccid': 253532271, 'num': 307, 'nick': '【荒野183】小嘴很甜', 'uid': 192317854, 'topcid': 5260583, 'subcid': 5297328}, {'roomid': 2121, 'status': 4, 'head_url': 'http://cc.fp.ps.netease.com/file/5b8756eca7f2521c6c87999azz3GWyVy', 'ccid': 326876740, 'num': 306, 'nick': 'Cc直播YoYo', 'uid': 248719094, 'topcid': 4862438, 'subcid': 5648852}, {'roomid': 0, 'status': 1, 'head_url': 'http://cc.fp.ps.netease.com/file/5b4c6d4696dee41e8f3f9591YwzhedtV', 'ccid': 266344933, 'num': 304, 'nick': '22155丶大前門', 'uid': 202665175, 'topcid': 0, 'subcid': 0}], 'last_month': '2018-08', 'rank': 0, 'total': 1917, 'size': 10, 'acu_score': 0, 'cur_month': '2018-09', 'revenue_score': 0, 'in_wlist': 0, 'guild_rank': 0, 'num': 0}}

3.獲取來自服務(wù)器的原始套接字響應(yīng)锐帜,需要在初始請求中設(shè)置 stream=True

r = requests.get("https://github.com/timeline.json", stream=True)
print(r.raw)
print(r.raw.read(100))

輸出結(jié)果

<urllib3.response.HTTPResponse object at 0x000002A019896208>
b'{"message":"Hello there, wayfaring stranger. If you\xe2\x80\x99re reading this then you probably didn\xe2\x80\x99t see'

4.get請求添加headers和鏈接帶參數(shù)

url = "https://www.baidu.com/"
# 添加headers
headers = {'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Mobile Safari/537.36'}
# 請求鏈接添加參數(shù)
payload = {'wd': '學(xué)生', 'tn': 'baiduhome_pg'}
r = requests.get(url=url, params=payload, headers=headers)
print(r.url)
print(r.content)

輸出結(jié)果

https://www.baidu.com/?tn=baiduhome_pg&wd=%E5%AD%A6%E7%94%9F
b'\xef\xbb\xbf<!DOCTYPE html>\n<html class=""><!--STATUS OK--><head><meta name="r......

5.post發(fā)送請求

  • 發(fā)送一些編碼為表單形式的數(shù)據(jù)——非常像一個 HTML 表單 利用data傳參
url = "https://fanyi.qq.com/api/translate"
# 傳遞一個字典給 data 參數(shù)
data = {'source': 'zh', 'target': 'en', 'sourceText':'字典', 'sessionUuid':'translate_uuid1538147300759'}
r = requests.post(url=url, data=data)
print(r.text)
print(r.url)

輸出結(jié)果

{"sessionUuid":"translate_uuid1538147300759","translate":{"errCode":0,"errMsg":"","sessionUuid":"translate_uuid1538147300759","source":"zh","target":"en","records":[{"sourceText":"字典","targetText":"Dictionaries","traceId":"02534dd0bd7d4720ab1a7186ee82ab8d"}],"full":true,"options":{}},"dict":null,"suggest":null,"errCode":0,"errMsg":"ok"}
https://fanyi.qq.com/api/translate
  • 傳JSON格式的數(shù)據(jù),可以用 json.dumps() 方法把表單數(shù)據(jù)序列化
import json

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

輸出結(jié)果

{
  "args": {}, 
  "data": "{\"id\": 2342342, \"some\": \"data\", \"name\": \"xiaoba\"}", 
  "files": {}, 
  "form": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Content-Length": "49", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.19.1"
  }, 
  "json": {
    "id": 2342342, 
    "name": "xiaoba", 
    "some": "data"
  }, 
  "origin": "223.104.64.47", 
  "url": "http://httpbin.org/post"
}
  • 用 file 參數(shù)上傳文件
url = 'http://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
r = requests.post(url, files=files)
print(r.text)

輸出結(jié)果

{
  "args": {}, 
  "data": "", 
  "files": {
    "file": "Hello,I'm a women."
  }, 
  "form": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Content-Length": "162", 
    "Content-Type": "multipart/form-data; boundary=39856e08a2727e642ad4dd0862129a08", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.19.1"
  }, 
  "json": null, 
  "origin": "223.104.64.47", 
  "url": "http://httpbin.org/post"
}
  • requests 支持流式上傳數(shù)據(jù)侠碧,該方式允許發(fā)送大的數(shù)據(jù)流或文件而無需先把它們讀入內(nèi)存抹估,類似方式如下:
with open('test.txt', 'r') as f:
    r = requests.post('http://some.url/streamed', data=f)

6.獲取cookie

url = 'https://www.baidu.com'
r = requests.get(url)
print(r.cookies)
for item in r.cookies:
    print(item.name, item.value)

7.利用 cookies 變量來向服務(wù)器發(fā)送 cookies 信息

url = 'http://httpbin.org/cookies'
cookies = dict(uid='wfdfewwe',name='xiaoba')
print(cookies)
r = requests.get(url=url, cookies=cookies)
print(r.text)

輸出結(jié)果

{'name': 'xiaoba', 'uid': 'wfdfewwe'}
{
  "cookies": {
    "name": "xiaoba", 
    "uid": "wfdfewwe"
  }
}

8.SSL證書驗證:要想檢查某個主機的SSL證書缠黍,可以使用 verify 參數(shù)

r = requests.get('https://github.com', verify=True)
print r.text

想跳過剛才 12306 的證書驗證弄兜,把 verify 設(shè)置為 False 即可

9.代理
可以通過為任意請求方法提供 proxies 參數(shù)來配置單個請求

proxies = {
  "http": "118.190.95.35:9001"
}
r = requests.post("https://www.baidu.com/", proxies=proxies)
print(r.text)
西刺代理:http://www.xicidaili.com/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瓷式,隨后出現(xiàn)的幾起案子替饿,更是在濱河造成了極大的恐慌,老刑警劉巖贸典,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件视卢,死亡現(xiàn)場離奇詭異,居然都是意外死亡廊驼,警方通過查閱死者的電腦和手機据过,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妒挎,“玉大人绳锅,你說我怎么就攤上這事≡脱冢” “怎么了鳞芙?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我原朝,道長驯嘱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任喳坠,我火速辦了婚禮鞠评,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丙笋。我一直安慰自己谢澈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布御板。 她就那樣靜靜地躺著锥忿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怠肋。 梳的紋絲不亂的頭發(fā)上敬鬓,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音笙各,去河邊找鬼钉答。 笑死,一個胖子當(dāng)著我的面吹牛杈抢,可吹牛的內(nèi)容都是我干的数尿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惶楼,長吁一口氣:“原來是場噩夢啊……” “哼右蹦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起歼捐,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤何陆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后豹储,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贷盲,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年剥扣,在試婚紗的時候發(fā)現(xiàn)自己被綠了巩剖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡钠怯,死狀恐怖佳魔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情呻疹,我是刑警寧澤吃引,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布筹陵,位于F島的核電站,受9級特大地震影響镊尺,放射性物質(zhì)發(fā)生泄漏朦佩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一庐氮、第九天 我趴在偏房一處隱蔽的房頂上張望语稠。 院中可真熱鬧,春花似錦弄砍、人聲如沸仙畦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慨畸。三九已至,卻和暖如春衣式,著一層夾襖步出監(jiān)牢的瞬間寸士,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工碴卧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弱卡,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓住册,卻偏偏與公主長得像婶博,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子荧飞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 上一篇:8.Urllib庫基本使用下一篇:10.正則表達式基礎(chǔ) requests是python實現(xiàn)的最簡單易用的H...
    在努力中閱讀 3,350評論 2 11
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理凡人,服務(wù)發(fā)現(xiàn),斷路器垢箕,智...
    卡卡羅2017閱讀 134,660評論 18 139
  • Getting Started Burp Suite 是用于攻擊web 應(yīng)用程序的集成平臺划栓。它包含了許多工具兑巾,并為...
    Eva_chenx閱讀 28,695評論 0 14
  • 高三那年条获,阿薇、小琦和我在學(xué)校合租了一間家屬樓的客廳蒋歌。出租屋里并不像自己家那樣干凈衛(wèi)生帅掘,剛搬進去的時候,小強同學(xué)無...
    Jessica時間櫥窗閱讀 368評論 1 2
  • 沒有反思的人生不值得過 -蘇格拉底 【2018年度目標(biāo)及檢視完成情況】 羅列年度目標(biāo)及完成進度 【月度成果&溫馨時...
    OL_o閱讀 221評論 0 0