requestspython下載文件
python一堆文件解壓方法如下。
壓縮包解壓要用的是zipfile這個包。
zip_file = zipfile.ZipFile(r'D:數據源XX_%s.zip'%yday)
zip_list = zip_file.namelist() # 壓縮文件清單,可以直接看到壓縮包內的各個文件的明細
for f in zip_list: # 遍歷這些文件,逐個解壓出來,
zip_file.extract(f,r'D:數據源')
zip_file.close() # 不能少!
print('昨日日誌解壓完成,請在文件夾中驗收!') # 當然我是不需要查收的(*/ω\*)
這里的解壓操作實際就相當於滑鼠右鍵「解壓到當前文件夾」的效果。
完成解壓後運行.close()是個比較好的習慣,否則可能會導致包括但不限於:
文件會一直被佔用著,可能無法重新打開;
在進程結束之前文件都刪不掉;
文件內容不能即時 flush 到磁碟直到進程結束;
到此,整個流程在無需打開瀏覽器和文件夾的情況下便自動完成了。
為了方便日常運行代碼,這里把上面的兩個流程包裝成一個函數,下載解壓
#下載昨日日誌
def download_XXlog():
yday = (date.today()+timedelta(days=-1)).strftime('%Y%m%d') # 獲取昨日日期
r = requests.get('http://XXXXXXXX/XX_%s.zip'%yday) # 獲取以日期命名的壓縮包信息
with open(r'D:數據源XX_%s.zip'%yday,'wb') as code: # 將壓縮包內容寫入到 "D:數據源" 下,並按日期命名
code.write(r.content)
print('昨日XX日誌下載完成。')
zip_file = zipfile.ZipFile(r'D:數據源XX_%s.zip'%yday)
zip_list = zip_file.namelist() # 壓縮文件清單,可以直接看到壓縮包內的各個文件的明細
for f in zip_list: # 遍歷這些文件,逐個解壓出來,
zip_file.extract(f,r'D:數據源')
zip_file.close() # 不能少!
print('昨日日誌解壓完成,請在文件夾中驗收!')
download_XXlog()
拓展
作為拓展,這里再加一個可以根據實際情況輸入(input)起始和終止日期,來下載一個特定時間段日誌的函數,這里就涉及了datetime和time這兩個工具包了。
② python的requests模塊下載文件
importrequests
res=requests.get('http://www.xx.xx/xxxx/xx.dat')
res.raise_for_status()
newfile=open('/home/xx/xx.dat','wb')#本地文件
forchunkinres.iter_content(10240):
newfile.write(chunk)
newfile.close()
③ Python安裝requests庫, 總不能成功, 一直提醒"不是內部或外部命令,也不是可運行的程序或批處理文件"
連在windows下安裝都不知道,看你的setup.py的位置是在d盤下的requests文件夾中,那麼首先應該在命令行輸入cd d:\requests這條命令,然後在輸入d:這個命令,應該就切換到安裝路徑,然後在執行python setup.py install,基本的cmd命令不熟,當然安裝不了。
④ 為什麼同樣下載一個文件,手動使用瀏覽器或者下載工具比python程序直接使用requests庫要快得多
因為下載工具或者瀏覽器里自帶的下載組件一般都會使用多線程下載,或者使用了一些線路優化功能,特別是下載工具,一般會有自己的優化線路,以及p2p下載這樣的功能,可以加速下載,而你自己寫的request方法也沒有這樣的功能,是直接從原始站點單線程下載,相比之下,肯定會比下載工具的要慢一些。
⑤ python問題 為什麼下載不了圖片
img_data=requests.get(url=url).content
>>
res = requests.get(url=url)
要確保 res.status_code 為 200
估計主要問題在於你沒有設定 headers,這個是防爬蟲最基本的一步。
你設定 headers 裡面的 user-agent 看看。
headers = {'User-agent':''}
後面填上你自己的 user-agent
res = requests.get(url, headers=headers)
⑥ windows 下怎麼安裝python requests 模塊
一般是安裝好python之後。打開命令提示符,輸入pip install requests就可以安裝,如果提示沒有找到pip命令。那麼你就去找你的python的安裝包的位置,裡面有個文件夾叫scripts,找到後,再執行 安裝目錄\Scripts\pip install requests就可以了。我的python安裝目錄是C:\Python34所以,我打開命令提示符,然後輸入C:\Python34\Scripts\pip install requests就可以安裝了。
⑦ python使用response下載txt文件到本地
1.執行x請求,獲取response
2.提取response中list,把list中需要的值循環寫入1.txt文件
實現如下
#tokensso是變數,取值於登錄介面的response.data.token
url = "https://xxxx"
request_headers = {
"Authorization": tokensso,
"Content-Type": "application/json"
}
login_data = {
"approvalFlg": "false",
"pageNo": 1,
"pageSize": 300,
"processInstanceNameOrUserName": "",
"sortType": 1
}
res1 = requests.post(url, json=login_data, headers=request_headers).json()
list=res1.get("data").get("list")
#打開data文件夾下1.txt
file_handle = open('data/1.txt', mode='w')
for i in range(len(list)):
reAppPageId=list[i].get("reAppPageId")
reInsRecipientId=list[i].get("reInsRecipientId")
reInstanceId=list[i].get("reInstanceId")
#循環寫入1.txt文件
file_handle.write(tokensso+","+reAppPageId+","+reInsRecipientId+","+reInstanceId+"\n")
