⑴ 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盘根目录下,你可以自己修改。
不过是单线程的,想要多线程下载,比较复杂,我没有试过,这个下载小文件还是没有问题的。