使用 Python 列出在线目录中的所有文件?

2023-11-30

你好,我只是想知道我正在尝试创建一个从互联网下载文件的Python应用程序,但目前它只下载一个我知道的名称的文件...有什么方法可以获取文件列表在线目录并下载它们?我将向您展示我一次下载一个文件的代码,这样您就知道我不想做什么。

import urllib2

url = "http://cdn.primarygames.com/taxi.swf"

file_name = url.split('/')[-1]
u = urllib2.urlopen(url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print "Downloading: %s Bytes: %s" % (file_name, file_size)

file_size_dl = 0
block_sz = 8192
while True:
    buffer = u.read(block_sz)
    if not buffer:
        break

    file_size_dl += len(buffer)
    f.write(buffer)
    status = r"%10d  [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size)
    status = status + chr(8)*(len(status)+1)
    print status,

f.close()

那么它从这个网站下载taxi.swf是做什么的,但我想要它做的是将所有.swf从该目录“/”下载到计算机?

是否可能,非常感谢您。 -特瑞-


由于您尝试一次下载一堆内容,因此首先要查找站点索引或网页,其中整齐地列出了您要下载的所有内容。网站的移动版本通常比桌面版本更轻,并且更容易抓取。

这个网站正是您所寻找的:所有游戏.

现在,这真的很简单。只需提取所有游戏页面链接即可。我用美丽汤 and requests去做这个:

import requests
from bs4 import BeautifulSoup

games_url = 'http://www.primarygames.com/mobile/category/all/'

def get_all_games():
    soup = BeautifulSoup(requests.get(games_url).text)

    for a in soup.find('div', {'class': 'catlist'}).find_all('a'):
        yield 'http://www.primarygames.com' + a['href']

def download_game(url):
    # You have to do this stuff. I'm lazy and won't do it.

if __name__ == '__main__':
    for game in get_all_games():
        download_game(url)

剩下的就取决于你了。download_game()根据游戏的 URL 下载游戏,因此您必须找出游戏的位置<object>DOM 中的标签。

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

使用 Python 列出在线目录中的所有文件? 的相关文章

随机推荐

  • Spark Kafka 流媒体问题

    我正在使用maven 我添加了以下依赖项
  • 如何将两个 jquery 对象包装成一个?

    我有两个功能 1 function foo elems elems each function foo selector1 selector2 calling foo 2 function bar elem1 elem2 some logi
  • C# WinForms - 如何将更新从 DataGridView 发送到数据库

    我有一个包含客户表和代理表的 mdb 文件 代理表迄今为止所做的唯一一件事就是填充每个客户的代理下拉列表 我有一个链接到 customerBindingSource 的 DataGridView customerBindingSource
  • 使用 firebase 隐藏第 3 方 API 密钥

    我正在使用 firebase 构建一个网站 这是一个简单的查找服务 只有一个输入元素 可以向第 3 方 API 发出请求 www 3rdparty com api myapikey method 问题是我每秒只能发出 x 个请求 并且无法向
  • PHP 5.2 中的 PHP date_parse_from_format() 替代方案

    由于 date parse from format 仅在 PHP 5 3 中可用 因此我需要编写一个函数来模仿其在 PHP 5 2 中的行为 是否可以为 PHP 5 2 编写此函数并使其以与 PHP 5 3 中完全相同的方式工作 Examp
  • 将函数参数重新声明为变量?

    我似乎无法在网络上的任何地方找到这个问题的答案 将函数参数重新声明为局部变量有什么原因 优点或缺点吗 Example function param1 param2 var param1 param2 etc 对我来说似乎非常多余 但也许我错
  • xmlpullparser 的 Android dalvik 转换

    我正在开发一个 Android 应用程序 对于一个组件 我可以在 Android 之外进行测试 因为它不使用任何 Android 代码 它使用 xstream 我有以下库 xstream1 4 6 xpp3 min 1 1 4c xmlpu
  • 在运行时动态加载程序集依赖项时出现问题

    让我尝试解释一下我的问题 我目前正在尝试开发一个用 Net编写的小型 插件框架 主要是为了进行一些实验 因此 我们的想法是拥有一个主应用程序 可以通过在主应用程序的特定文件夹 插件 中部署 dll 来添加 插件 一切工作正常 插件已正确实例
  • 具有相同 id 的多个组件在 android 中如何工作?

    我定义了几种布局 其中很少有 id 被多重定义 我很困惑它是如何工作的 为什么它不像我们在java代码中那样给出错误 最重要的是 环境如何决定需要调用哪个组件 我知道 id 生成的过程是自动化的 它被添加到 R java 中 例如 如果我们
  • 如何使用云函数触发数据流? (Python SDK)

    我有一个由云发布 订阅触发的云函数 我想要使 用 Python SDK 相同的函数触发数据流 这是我的代码 import base64 def hello pubsub event context if data in event mess
  • 基于多个 OCR 软件包输出来改进 OCR 结果的软件

    是否有现有的商业或学术软件可以 来自多个 OCR 软件包 Abbyy FineReader Adobe Acrobat Professional ReadIris 等 的叠加结果 根据从多个来源积累的知识提供完全自动化的改进 允许在运行时使
  • 如何在Robot Framework中执行JavaScript

    下面是我的代码 当我运行它时 它显示 WebDriverException 如何在 Robot Framework 中执行 JavaScript 代码 This return arguments 0 data ToolTip options
  • SQL Server SELECT 转 JSON 函数

    我想输出一个结果SELECT语句作为 JSON 对象 我希望这是一个Function而不是一个存储过程 例如下表用户 id name active 1 Bob Jones 1 2 John Smith 0 会像这样返回 id 1 name
  • RSelenium 连接尝试产生 Java 错误

    我非常感谢有关 RSelenium 的帮助 2014 年 11 月 29 日下载的 v 2 4 4 我的第一个例子是直接从线程复制的 Get Google Chromes Inspect Element into R library RSe
  • 将字符串拆分为单个字符的字符串数组

    我想要像转动一样简单的事情 this is a test into new string t h i s i s a t e s t 我真的必须做类似的事情吗 test this is a test Select x gt x ToStri
  • SQL Server——如何将一个多元素 XML 分解为插入表中的单元素 XML 值?

    我正在与 x nodes 因为我是 XQuery 的新手 我确实有 XML 变量 x构建方式如下 CREATE TABLE tab a int b int c int GO INSERT INTO tab a b c VALUES 1 11
  • XHR.getAllResponseHeaders() 不会按 Chrome 60 中的预期返回标头

    在我们的网络应用程序中 我们使用XHR getAllResponseHeaders 获取标题字段名称的函数 我们使用X Access Token接收我们在下一个请求中发送的 JWT 令牌以保持会话 从今天开始 登录后 每个下一个请求都会重定
  • Qt 5.0 和 c++11 与 OSX Mountain Lion

    离开 7 年之后 我再次尝试 c 我已经下载了新发布的适用于 osx 的 Qt 5 0 sdk 但无法获得使用 Qt Creator 编译的基本 c 11 功能 以下声明 auto i 3 导致编译错误 mainwindow cpp 19
  • GoogleConnect.Fetch 抛出无法转换对象错误

    我正在将 Google API 集成到我的项目中 我正在使用以下代码来执行此操作 public void google GoogleConnect ClientId xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 使用 Python 列出在线目录中的所有文件?

    你好 我只是想知道我正在尝试创建一个从互联网下载文件的Python应用程序 但目前它只下载一个我知道的名称的文件 有什么方法可以获取文件列表在线目录并下载它们 我将向您展示我一次下载一个文件的代码 这样您就知道我不想做什么 import u