首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用python和win32com从web服务器下载文件

使用Python和win32com从Web服务器下载文件的步骤如下:

  1. 导入所需的模块:
代码语言:txt
复制
import win32com.client
import urllib.request
  1. 创建一个win32com对象,用于实例化InternetExplorer应用程序:
代码语言:txt
复制
ie = win32com.client.Dispatch("InternetExplorer.Application")
  1. 使用IE对象打开Web服务器上的文件下载链接:
代码语言:txt
复制
url = "http://example.com/file.txt"
ie.Navigate(url)
  1. 等待IE加载完毕:
代码语言:txt
复制
while ie.ReadyState != 4:
    pass
  1. 获取下载文件的绝对路径:
代码语言:txt
复制
file_path = ie.Document.getElementsByTagName("a")[0].href
  1. 使用urllib库下载文件到本地:
代码语言:txt
复制
urllib.request.urlretrieve(file_path, "local_file.txt")

完整的代码示例:

代码语言:txt
复制
import win32com.client
import urllib.request

# 创建win32com对象
ie = win32com.client.Dispatch("InternetExplorer.Application")

# 打开Web服务器上的文件下载链接
url = "http://example.com/file.txt"
ie.Navigate(url)

# 等待IE加载完毕
while ie.ReadyState != 4:
    pass

# 获取下载文件的绝对路径
file_path = ie.Document.getElementsByTagName("a")[0].href

# 下载文件到本地
urllib.request.urlretrieve(file_path, "local_file.txt")

这个方法适用于使用Internet Explorer浏览器下载文件的情况。注意,这个方法依赖于Windows操作系统和安装了Internet Explorer浏览器。如果需要在其他操作系统或浏览器上下载文件,可以使用其他适合的库和方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Python入门到摔门(6):Python Web服务器Tornado使用小结

    web 服务器上我选择了 Tornado。...要使用该功能的话,需要在生成 tornado.web.Application 对象时,加上 xsrf_cookies=True 参数,这会给用户生成一个名为 _xsrf 的 cookie 字段。...简单来说就是把 cookie 名、值时间戳的 hash 作为签名,再把“值|时间戳|签名”作为新的值。这样服务器端只要拿秘钥再次加密,比较签名是否有变化过即可判断真伪。...= len(b): return False result = 0 if type(a[0]) is int: # python3 byte strings for x, y in zip(a...如果不能使用默认的 login_url 参数(例如普通用户管理员需要不同的登录地址),那么可以覆盖 get_login_url() 方法: class AdminHandler(RequestHandler

    1.1K20

    Web开发】使用Apache搭建Http下载服务器

    前言 前段时间因为某些原因,几大主流网盘都无法使用,正好手头上有台闲置的云服务器,于是就想来搭建一个文件下载服务,用户只需通过一个链接就能下载软件。...(注:如果是云服务器,还需要在安全组开放80443端口号) 同时,也可以通过域名/文件名的方式直接给别人一个链接,进行下载。 如果有一台单独的服务器用于临时文件的分享,这样很快就搞定了。...因此,长期提供下载服务的服务器必须设置访问限制。 配置文件参数详解 访问限制主要涉及到/etc/apache2/apache2.conf这个配置文件,首先来对该文件进行解读。...Directory:在标签对里面可以设置各文件夹属性 Options:控制在特定目录中将使用哪些服务器特性 All:除MultiViews之外的所有特性,这是默认设置 ExecCG:允许使用...:允许服务器端包含,但禁用"#exec cmd""#exec cgi",但仍可以ScriptAlias目录使用"#include virtual"虚拟CGI脚本 Indexes:如果一个映射到目录的

    2.7K21

    使用Pythonrds上下载mysql

    /usr/bin/python2.6 #coding=utf-8 from aliyunsdkcore import client from aliyunsdkrds.request.v20140815...%MZ')         return 0                   #回调函数 def Schedule(a,b,c):         '''                 a:已经下载的数据块...                b:数据块的大小                 c:远程文件的大小         '''         per = 100.0 * a * b / c         ... = 100                 print '%.2f%%' % per                                   # 拉取指定db_instanceid的备份文件...,filename,Schedule)         print filename         return 1                   # 拉取指定db_instanceid的备份文件

    4.5K10

    【译】Retrofit 2 - 如何服务器下载文件

    对于很多Retrofit使用者来说:定义一个下载文件的请求与其他请求几乎无异: // option 1: a resource relative to your base URL @GET("/resource...(存在于服务器上的同一个地点),Base URL指向的就是所在的服务器,这种情况下可以选择使用方案一。...Retrofit会试图解析并转换它,所以你不能使用任何其他返回类型,否则当你下载文件的时候,是毫无意义的。 第二种方案是Retrofit 2的新特性。现在你可以轻松构造一个动态地址来作为全路径请求。...如果你的应用需要下载略大的文件,我们强烈建议阅读下一节内容。 当心大文件:请使用@Streaming! 如果下载一个非常大的文件,Retrofit会试图将整个文件读进内存。...,那么就能够使用Retrofit高效下载文件了。

    2.3K10

    使用scp进行与服务器文件交互(上传下载)

    ​ 通常我们上传或下载文件使用一些软件,如xftp,winscp, finalshell,前面几篇文章已经介绍了如何搭一个命令行环境以及使用命令行去连接服务器,进行交互,这次我们使用命令行来进行文件的上传下载...,通常当我们想要上传文件服务器时,不是通过软件就是ftp,比较的繁琐,而且底层使用的原理都是一样的,这次介绍使用scp命令进行命令行端的文件操作,无需再打开软件,找到文件,拖进去或者其他比较费时的操作...使用scp命令 下载文件 1 2 3 4 5 6 7 scp -r name@ip:folder local_folder //参数说明: -r : 操作文件夹,如果是单个文件可以不加 name...: 服务器用户名 ip : 服务器的ip folder : 需要下载服务器文件路径(必须是绝对路径) local_folder : 下载到本地的路径 这篇文章讲到了怎么配置ssh免登陆不需要每次上传或下载文件都输入密码...上传文件 1 2 scp -r local_folder name@ip:folder //参数同上,可以发现,互换路径就可以实现上传下载,就是将第一个路径的文件放到第二个目录里

    1.6K21

    使用cvm内网拉取cos文件下载

    I.起因 之前用阿里OSS时候有看到有人用同地域ECS走内网拉文件,现在用腾讯COS,想到是不是也可以走内网使用cvm下载文件呢 II.实践开始 准备 你需要有一个存储桶,一台CVM,还有一个备案的域名...于是我们就得到了一个桶 image.png 注意权限一定是公读私写 开始 2.正式开始配置(宝塔) 首先咱们先在宝塔里面新建站点 image.png PHP要选择纯静态 image.png 这边推荐使用...,你需要在反向代理那块添加反代,否则可能会有几率错误 image.png 目标URL填访问域名 image.png 目标URL添加cos访问域名,发送域名填你要使用的域名 image.png 腾讯云给的地址是...不用宝塔设置反代 直接在配置文件添加如下就行 location / { proxy_pass https://.cos....下载速度取决你CVM的带宽有多少,所以此方法只适合取出文件,真的想要用它来免除生产环境下产生的流量费,还是洗洗睡吧。

    3K70
    领券