您好,登錄后才能下訂單哦!
這篇文章主要介紹Python爬蟲中Requests實現(xiàn)post請求的案例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
對于 POST 請求來說,我們一般需要為它增加一些參數(shù)。那么最基本的傳參方法可以利用 data 這個參數(shù)。
import requests payload = {'key1': 'value1', 'key2': 'value2'} r = requests.post("http://httpbin.org/post", data=payload) print r.text
運行結(jié)果
{ "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" }
可以看到參數(shù)傳成功了,然后服務器返回了我們傳的數(shù)據(jù)。 有時候我們需要傳送的信息不是表單形式的,需要我們傳 JSON 格式的數(shù)據(jù)過去,所以我們可以用 json.dumps () 方法把表單數(shù)據(jù)序列化。
import json import requests url = 'http://httpbin.org/post' payload = {'some': 'data'} r = requests.post(url, data=json.dumps(payload)) print r.text
運行結(jié)果
{ "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 格式的數(shù)據(jù) 如果想要上傳文件,那么直接用 file 參數(shù)即可 新建一個 a.txt 的文件,內(nèi)容寫上 Hello World!
import requests 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 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 是支持流式上傳的,這允許你發(fā)送大的數(shù)據(jù)流或文件而無需先把它們讀入內(nèi)存。要使用流式上傳,僅需為你的請求體提供一個類文件對象即可
with open('massive-body') as f: requests.post('http://some.url/streamed', data=f)
這是一個非常實用方便的功能。
以上是Python爬蟲中Requests實現(xiàn)post請求的案例的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。