python下载速度极慢

2023-11-24

有没有办法提高Python上的url下载速度?

我有一个用 VB6 编写的程序,无需尝试即可使用 Python。我已经转换了这个东西,现在正在尝试,Python(linux)中的东西似乎慢得多,时间是原来的两倍。即使是该程序的初始版本似乎也比我在 Windows 上习惯的时间要长。

我尝试过同时使用urllib(2.7), urllib.request(3.3),以及requests。目前我正在尝试urllib3而且速度也没有更快。在 Windows 上通常需要 45 分钟才能在同一台计算机上通过相同的 Internet 连接完成相同的任务,在 Linux 上则需要近 2 个小时。任务只是搜索互联网并在搜索找到所需内容时下载文件......只是一系列潜在的文件名。

我还会问,因为今天下午到目前为止已经发生了不止一次,我该如何检测 110 错误代码(连接超时)。我下面使用的不起作用,它仍然杀死了程序。

import urllib3

http = urllib3.PoolManager()

def dl_10(self):
        self.NxtNum10 = int(self.HiStr10)
        while self.NxtNum10 < int(self.HiStr10)+9999:
                url = 'http://www.example.com/videos/encoded/'+str(self.NxtNum10)+'.mp4'
                r = http.request('GET', url)
                if r.status==404:
                        self.NxtNum10 +=1
                        continue
                elif r.status==110:
                        continue
                else:
                        urllib.request.urlretrieve(url,str(self.NxtNum10)+'_1.mp4')
                        statinfo = os.stat(str(self.NxtNum10)+'_1.mp4')
                        if statinfo.st_size<10000:
                                os.remove(str(self.NxtNum10)+'_1.mp4')
                        else:
                                self.End10 = self.NxtNum10
                self.NxtNum10 +=1

        self.counter +=1
        self.NxtNum10 = 'FINISHED'

这是通过线程运行的,我认为这不会有任何区别。就像我说的,使用 urllib(2.7) 的初始写入也很慢,而且它没有使用线程,我只是运行该程序 10 次,就像我在 Windows 上一直运行的那样。

有没有更快的方法可以用Python从互联网上获取资料?


我发现使用下面的方法而不是直接使用 urlretrieve 会快得多:

resp = urllib2.urlopen(url)
respHtml = resp.read()
binfile = open(filename, "wb")
binfile.write(respHtml)
binfile.close()

直接写入文件。希望对你有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python下载速度极慢 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • python导入模块时如何避免一直写模块名?

    我用math最近模块很多 我不想写math sqrt x and math sin x 每时每刻 我想缩短它并写sqrt x and sin x How 对于较长的模块名称 通常会缩短它们 例如 import numpy as np 然后您
  • 为什么我不能使用“exclude”从 python 轮子中排除“tests”目录?

    考虑以下包结构 与以下setup py内容 from setuptools import setup find packages setup name dfl client packages find packages exclude te
  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • Python 在 chroot 中运行时出现错误

    我尝试在 chroot 中运行一些 Python 程序 但出现以下错误 Could not find platform independent libraries
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 在 Flask (WSGI) 中使用全局单例,我是否需要担心竞争条件? [复制]

    这个问题在这里已经有答案了 Flask 的 hello world 演示是 from flask import Flask app Flask name app route def hello return Hello World if n
  • 为 Networkx 图添加标题?

    我希望我的代码创建一个带有标题的图 使用下面的代码 可以创建绘图 但没有标题 有人可以告诉我我做错了什么吗 import pandas as pd import networkx as nx from networkx algorithms
  • 如何使用 Python 多处理避免在分叉进程中加载​​父模块

    当您创建一个Pool使用Python的进程multiprocessing 这些进程将分叉 父进程中的全局变量将显示在子进程中 如下面的问题所述 如何限制多处理进程的范围 https stackoverflow com questions 2
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • 参数验证,Python 中的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 让我们举一个 API 的例子 def get abs directory self path if os path isdir path ret
  • 如何检查列表是否为空?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 例如 如果通过以下内容 a 我如何检查是否a是空的 if not a print Lis
  • 如何在 Python 中从 HTML 页面中提取 URL [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须用Python 编写一个网络爬
  • 如何强制 Y 轴仅使用整数

    我正在使用 matplotlib pyplot 模块绘制直方图 我想知道如何强制 y 轴标签仅显示整数 例如 0 1 2 3 等 而不显示小数 例如 0 0 5 1 1 5 2 等 我正在查看指导说明并怀疑答案就在附近matplotlib
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • Spyder 如何在同一线程的后台运行 asyncio 事件循环(或者确实如此?)

    我已经研究 asyncio 模块 功能几天了 因为我想将它用于我的应用程序的 IO 绑定部分 并且我认为我现在对它的工作原理有一个合理的理解 或者在至少我认为我已经理解了以下内容 任一时刻 任一线程中只能运行一个异步事件循环 一旦一切都设置
  • 如何正确消除字典中的元素直到只剩下一个字符串

    我真的需要这方面的帮助 def get winner dict winner new dict for winner in dict winner first letter winner 0 value dict winner winner
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo

随机推荐

  • 架构 i386 的未定义符号,为 iOS 构建?

    我已经下载了 iProcessing 框架 允许您为 iPhone 构建本机 javascript 应用程序 当我尝试编译时 我得到 Undefined symbols for architecture i386 ADBannerConte
  • 在计算机之间导入/导出 Chrome devtools 断点和设置

    Quoting 最初的想法 我遇到了一个问题 我需要将所有调试器断点共享给我的同事 以便在他结束时调试问题 因此考虑实施诸如从一个系统导出调试器点并在另一系统导入之类的东西 由于 devtools 不提供内置的导入 导出功能 还有其他方法吗
  • 将远程图像保存到隔离存储中

    我尝试使用此代码下载图像 void downloadImage WebClient client new WebClient client DownloadStringCompleted new DownloadStringComplete
  • 如何防止 URLDownloadToFile 从缓存中检索?

    我正在使用 URLDownloadToFile 从网站检索文件 后续调用将返回原始文件而不是更新版本 我假设它正在检索缓存的版本 在调用 URLDownloadToFile 之前使用相同的 URL 调用 DeleteUrlCacheEntr
  • invalidateList 和 invalidateDisplayList 有什么区别?

    我有一个 DataGrid 其中填充有 ArrayCollection 中的对象 更新对象的字段之一后 我希望屏幕更新 数据源不可绑定 因为我是在运行时构建它的 而且我还不知道如何使其可动态绑定 这是另一个问题 在这种情况下 如果我在网格上
  • 清理 Mercurial 存储库

    我的 hg 存储库的历史记录中有一堆文件已被删除 它们导致存储库变得相当大 其中一些是图像 以及项目早期的 sql 转储 以及其他一开始就不应该提交的东西 我如何让 Mercurial 忘记这些东西并再次将我的存储库缩小到合理的大小 我是否
  • C# 中的非对称加密示例

    我需要通过 TCP 连接将机密数据发送到服务器 我做了很多研究并且理解了理论部分 根据我的研究 我想做以下事情 注意有一个服务器和一个客户端 我们假设客户端或服务器的公钥可以被任何人获取 客户创建他的公钥和私钥 他能够用他的私钥加密并用他的
  • 不带值的 MediaWiki URL 参数

    The query的一部分URL似乎由键值对组成 并由相关联 我一直习惯使用 jQuery param 函数对我的查询字符串进行 URL 编码 因为我发现它使我的代码更具可读性和可维护性 在过去的几天里 我发现自己在调用 MediaWiki
  • SimpleDateFormat 类中有哪些可用的日期格式?

    谁能告诉我 SimpleDateFormat 类中可用的日期格式 我已经浏览了 api 但找不到满意的答案 非常感谢任何帮助 下面详细描述了日期和时间格式 SimpleDateFormat Java Platform SE 7 日期和时间模
  • 如何将 String 上的 PageRequest 作为数值进行排序

    我目前有一个系统 可以过滤和排序数据库中的记录并将它们作为分页对象返回 其中一行是这样的 final PageRequest request new PageRequest this pagingSettings getPageNumber
  • 已知起点、终点和半径,如何求圆弧圆周上的点?

    请参阅下图以直观地了解我的问题 我有点 1 和 2 的坐标 它们是通过使用其他可用信息的公式得出的 参见问题 如何计算已知半径和圆心的圆上的点 我现在需要做的 与轨道建设分开 是将点 1 和点 2 之间的点绘制为绿色 这样做的最佳方法是什么
  • Cordova 6.4.0 Android 构建发布 apk 时出错

    我有一个项目在 cordova 6 3 1 上运行良好 然后我将 cordova 和我的项目更新到 6 4 0 在此之后 我第一次构建时 gradle 也自动更新了 现在我遇到一个重要的问题 我需要在 build json 文件中包含密钥库
  • MousePressEvent,QGraphicsView中的位置偏移

    我有一些困难QGraphicsView and QGraphicsScene 当我缩放 取消缩放场景并使用 mousePressEvent 创建项目时 我的位置有一个偏移 如何避免这种情况 event pos 似乎是问题 from PyQt
  • 如何使用 selenium 3.0.0 beta 关闭 geckodriver

    环境 Win 7 Selenium 3 0 0 测试版 FireFox 49 0 1 System setProperty webdriver gecko driver C geckodriver exe WebDriver driver
  • Apache ProxyPass 未加载资源

    我配置了 apache proxypass 它可以工作 但无法加载图像 javascript CSS 等 我想 proxypass 到另一台服务器 而不是本地主机 以下是我的配置 查看错误图像
  • Google 地图 API 的服务帐户

    On the Google 云身份验证概述页面上对云服务进行了以下说明 对于几乎所有情况 无论您是在本地开发还是在外部开发 生产应用程序 您应该使用服务帐户 而不是 用户帐户或 API 密钥 考虑到这一点 我的问题是 当使用 Google
  • 异常处理 ASP.NET MVC Web API

    首先 是的 我们已经创建并正在使用一个继承自 ExceptionFilterAttribute 的异常过滤器 它会在应用程序启动时在我们的身份过滤器之后立即注册到配置中 并且如果我们的 API 内部某个地方发生错误 它的工作效果几乎与预期一
  • 如何处理 Web 驱动程序 Selenium python 浏览器或应用程序可能不安全的问题?

    我正在尝试自动登录 Gmail 但看到此错误 我认为这一定是因为该网站能够检测到自动化并阻止它 大家能告诉我如何克服这个问题吗 我的个人帐户没有发现此问题 但只有普通帐户才会出现此问题 In you account profile in S
  • 在 kableExtra() 中设置字幕格式

    是否可以将字幕格式设置为kableExtra 我想在编织时将表格的标题居中并加粗HTML in RMarkdown 我试图将桌子包裹起来CSS div文本居中的位置 但这并没有产生预期的结果 样本表 library kableExtra k
  • python下载速度极慢

    有没有办法提高Python上的url下载速度 我有一个用 VB6 编写的程序 无需尝试即可使用 Python 我已经转换了这个东西 现在正在尝试 Python linux 中的东西似乎慢得多 时间是原来的两倍 即使是该程序的初始版本似乎也比