request介紹
Requests建立在世界上下載量最大的Python庫urllib3上,它令Web請求變得非常簡單,功能強大且用途廣泛,
Requests支持HTTP連接保持和連接池,支持使用cookie保持會話,支持檔案上傳,支持自動確定回應內容的編碼,支持國際化的 URL 和 POST 資料自動編碼,功能非常全面而且使用方便
Requests可以完成您能想到的所有高級作業,例如:
- 認證
- 使用cookie
- 執行POST,PUT,DELETE等
- 使用自定義證書
- 使用會話Session
- 使用代理
request安裝
request的安裝非常簡單,只需要在cmd中輸入 pip install requests 進行安裝
request的用法很多,這里介紹怎么用request 根據連接同時下載多個圖片
具體代碼
from urllib import request
from multiprocessing import Process
def aa(uit):
name=uit.split('/')[-1]
pen=request.urlopen(uit)
q=pen.read()
with open(name,'wb') as f:
f.write(q)
if __name__ == '__main__':
lis=[]
na=['行程1','行程2','行程3']
aaa=['https://img0.baidu.com/it/u=3724865004,3598526800&fm=26&fmt=auto&gp=0.jpg','https://img2.baidu.com/it/u=2598714022,2194647539&fm=26&fmt=auto&gp=0.jpg','https://img1.baidu.com/it/u=2016159045,522593296&fm=15&fmt=auto&gp=0.jpg']
for i in range(0,3):
a=Process(target=aa,name=str(i),args=(aaa[i],))
print(f'{a.name}開始運行了')
a.start()
lis.append(a)
print(lis,)
for a in lis:
a.join()
print('主行程id%s'%os.getpid())
首先先要匯入,需要用到的是request和設定多行程的Process模塊
from urllib import request
from multiprocessing import Process
然后寫一個函式,用來處理得到的網址和下載圖片
def aa(uit):
name=uit.split('/')[-1]
pen=request.urlopen(uit)
q=pen.read()
with open(name,'wb') as f:
f.write(q)
首先用split()方法進行分割,用最后一個作為圖片的名字
然后體現request的強大之處,用request.urlopen(uit)就可以對目標網址發出get請求,然后收到網站的回應,回傳網站給的資料(自動篩選出資料,去掉回應頭等只回傳相應正文)
使用read()讀取回傳的資料將他寫入檔案中
if __name__ == '__main__':
lis=[]
aaa=['https://img0.baidu.com/it/u=3724865004,3598526800&fm=26&fmt=auto&gp=0.jpg','https://img2.baidu.com/it/u=2598714022,2194647539&fm=26&fmt=auto&gp=0.jpg','https://img1.baidu.com/it/u=2016159045,522593296&fm=15&fmt=auto&gp=0.jpg']
for i in range(0,3):
a=Process(target=aa,name=str(i),args=(aaa[i],))
a.start()
lis.append(a)
for a in lis:
a.join()
程式運行時同時運行3個行程一起下載,然后將所有行程都放到一個空的串列中,然后再逐個進行關閉,
下載完再查看下載的目錄看看是否下載完成
但是有一些網站會主動屏蔽掉request這個方法,所以現在基本淘汰了這個方法,不過對一些小網站還是可以使用的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/274406.html
標籤:python
上一篇:Python腳本控制滑鼠鍵盤
下一篇:Python筆記
