⑴ python,如何下載FTP上的文件
importftplib,socket
defconnect():
CONST_HOST="xxxx.xxxx.xxx"
CONST_USERNAME="xxxxx"
CONST_PWD="xxxxxxx"
try:
ftp=ftplib.FTP(CONST_HOST)
ftp.login(CONST_USERNAME,CONST_PWD)
returnftp
exceptsocket.error,socket.gaierror:
print("FTPisunavailable,pleasecheckthehost,usernameandpassword!")
sys.exit(0)
defdisconnect(ftp):
ftp.quit()
defdownload(ftp,filename):
#預定義每次寫文件的buffer
CONST_BUFFER_SIZE=8192
f=open(filename,"wb").write
try:
ftp.retrbinary("RETR%s"%filename,f,CONST_BUFFER_SIZE)
exceptftplib.error_perm:
returnFalse
returnTrue
deffind(ftp,filename):
ftp_f_list=ftp.nlst()
iffilenameinftp_f_list:
returnTrue
else:
returnFalse
ftp=connect()
#yourfile為你想要下載的文件
iffind(ftp,'yourfile'):
download(ftp,'yourfile')
disconnect(ftp)
⑵ 求教python,如何用python自動下載文件
可以使用requests模塊完成下載
#--------------------第一種:使用headers攜帶cookie-----------------------------
#coding=utf-8
importrequests
headers={
'User-Agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64),
'Cookie':'你的cookies',
}
#發起請求,獲取二進制數據
html_str=requests.get(url,headers=headers).content
#寫入文件,採用二進制寫入文件
withopen('路徑/文件名.後綴','wb')asf:
f.write(html_str)
#--------------------第二種:在requests直接攜帶--------------------------------
#coding=utf-8
importrequests
headers={
'User-Agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64),
}
cookies={你的cookies,這里必須是以鍵值對,也就是字典的形式}
#發起請求,獲取二進制數據
html_str=requests.get(url,headers=headers,cookies=cookies).content
#寫入文件,採用二進制寫入文件
withopen('路徑/文件名.後綴','wb')asf:
f.write(html_str)
⑶ 怎麼用python實現文件的分塊下載
要求:
伺服器使用HTTP協議提供下載
伺服器支持Range請求頭
注意:必須滿足以上兩點要求,否則下面的代碼無效
import os
import sys
import requests
if __name__ == '__main__':
assert len(sys.argv) > 1, '未提供參數,終止'
if argv[1] == '0':
start_pos = 0
end_pos = 2**30-1
filename = '00.dat'
elif argv[1] == '1':
start_pos = 2**30
end_pos = ''
filename = '01.dat'
else:
raise ValueError('參數無效:%s,終止' % argv[1])
headers = {
'Range': 'bytes=%s-%s' % (start_pos, end_pos)
}
response = requets.get('下載地址', headers=headers, stream=True)
with open(filename, 'wb') as dat:
chunk_size = 1024
for chunk in response.iter_content(chunk_size):
dat.write(chunk)
print('%s下載完成' % filename)
使用python 腳本名.py 0下載第一部分為00.dat文件,使用python 腳本名.py 1下載第二部分為01.dat文件。
⑷ 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()
⑸ windows python網路下載文件存在哪裡
這個下載會默認放置在與你當前腳本相同的目錄下面的。
比如你的腳本位置 : d:/spider/a.py
那麼你下載的文件 : d:/spider/**.*
要是沒有的話,說明沒有下載成功。
⑹ Python官網的幾個下載文件的區別
Download Windows x86-64 web-based installer 這個是基於網路的安裝包,安裝時需要網路,也就是不能離線安裝。在沒有網路的情況下,用這個安裝包是沒辦法安裝的。
Download Windows x86-64 executable installer 是exe的安裝包,也就是我們通常用的,不需要額外的網路支持。
Download Windows x86-64 embeddable zip file 這是壓縮文件,所有的文件都已經在壓縮包里了,解壓就可以了,不需要安裝。但可能需要設置一些環境變數之類的。
以上三個,對於初學者應該選擇第二個進行安裝,網路環境好的可以選擇第一個。第三個是需要自行配置的,不建議初學者下載安裝。
⑺ python 怎麼下載網站文件夾下的所有文件
第一步:
必須知道有哪些文件。
第二步:
知道路徑就可以使用urlretrieve函數保存了。
但是第一步你不說背景很難啊。
是網頁的話,可能那個需要簡單解析一下網頁就行了,有list dir許可權更方便,直接ls就行,窮舉是估計不行的,誰知道文件路徑長度?
⑻ python官網有幾個下載文件有什麼區別
1.Windows x86 MSI Installer (2.7.8)
- 32位系統安裝的python
2.Windows x86 MSI program database (2.7.8)
- 32位python源碼的符號庫。 如果做純Python開發,為python的C介面開發准備的。
3.Windows X86-64 MSI Installer (2.7.8)
- 64位系統安裝的python
4.Windows X86-64 MSI program database (2.7.8)
- 64位python源碼的符號庫。 如果做純Python開發,為python的C介面開發准備的。
⑼ python如何實現文件的下載,請盡量詳細,高分!!!
import os,urllib.request,re
os.chdir(r'd:')
data = urllib.request.urlopen(url).read()
with open(filename, 'wb') as f:
f.write(data)
url就是你要下載的文件鏈接,filename就是下載後保存的文件名。這段代碼是把文件下載在d盤根目錄下,你可以自己修改。
不過是單線程的,想要多線程下載,比較復雜,我沒有試過,這個下載小文件還是沒有問題的。