【问题标题】:how to get csv files using wget如何使用 wget 获取 csv 文件
【发布时间】:2015-06-08 13:12:14
【问题描述】:

我想使用 wget 从网页下载一些 csv 文件。 (这是网页http://sinca.mma.gob.cl/index.php/region/index/id/II)。但是使用 wget 我只得到一些 cgi-bin 文件和其他格式文件,我认为它们可以构建一个 csv 文件。鉴于我对 javascript 或构建 csv 文件所需的任何知识一无所知,有没有办法可以直接使用 wget 获取这些 excel 文件?

这是运行wget后的日志文件 --10:30:06-- http://sinca.mma.gob.cl/index.php/region/index/id/II => `sinca.mma.gob.cl/index.php/region/index/id/II' 解决 sinca.mma.gob.cl... 190.215.49.125 连接到 sinca.mma.gob.cl[190.215.49.125]:80... 已连接。 HTTP 请求已发送,等待响应... 200 OK 长度:未指定 [text/html]

0K .......... .......... .......... .......... ..........   28.17 KB/s

50K …………………………………………………… .... 226.24 KB/秒 10万。 1.44 MB/秒

缺少上次修改的标头 -- 时间戳已关闭。 10:30:09 (50.81 KB/s) - `sinca.mma.gob.cl/index.php/region/index/id/II.html' 已保存 [103911]

删除 sinca.mma.gob.cl/index.php/region/index/id/II.html 因为它应该被拒绝。

已完成--10:30:09-- 已下载:1 个文件中的 103,911 字节 在 0.00 秒内转换了 0 个文件。

【问题讨论】:

  • 您是否尝试过仅下载 excel 文件?这可能有助于确定是否设置了权限。
  • 手动下载excel文件无需任何许可即可轻松完成,使用wget我没有.csv文件。
  • 那么它是 CSV 文件而不是 excel xls 文件吗?
  • 是的没错,就是你可以在那个网页上下载的csv文件。

标签: wget


【解决方案1】:

你需要提供wget生成你想要的文件的完整url,例如:

wget -O test.csv "http://sinca.mma.gob.cl/cgi-bin/APUB-MMA/apub.tsindico2.cgi?outtype=xcl&macro=./RII/237/Cal/PM25//PM25.diario.diario.ic&from=13060100&to=15110323&path=/usr/airviro/data/CONAMA/&lang=esp&rsrc=&macropath="

我对上述内容进行了测试,得到的 csv 文件与单击网站上的链接时完全相同。该链接运行一些生成上面使用的 URL 的 javascript。为了获取该 URL,我单击了该链接,然后复制了地址栏中显示的地址。

【讨论】:

    【解决方案2】:

    wget 依赖于选项会获取你指定的所有文件,如果你要求它抓取所有文件那正是它会做的,除非权限不允许那些文件被下载,如果你使用

    wget -r --no-parent http://www.example.com/folder/
    

    这将提取该目录的所有文件、文件夹和子文件夹,除非您否定特定类型的文件,即:

    过滤特定文件扩展名:

    wget -A pdf,jpg -m -p -E -k -K -np http://site/path/
    

    或者,如果您更喜欢长选项名称:

    wget --accept pdf,jpg --mirror --progress --adjust-extension --convert-links --backup-converted --no-parent http://site/path/
    

    这将镜像站点,但没有 jpg 或 pdf 扩展名的文件将被自动删除。

    所以在回答你的问题时,是的,你可以指定你想要所有的 excel 文件而不是别的。

    如果还是不行可以试试

    -o wget.log
    

    选择将其指定为记录到文件中,这样您就可以在日志结果中看到发生了什么,我会尽力为您提供更多帮助。

    【讨论】:

    • 我尝试使用这个命令,但是没有找到 csv 文件。只下载空文件夹。
    • 您的命令运行了多长时间?你有足够的磁盘空间吗?
    • 我只运行了几秒钟,但没有找到 csv 文件。我把日志放在问题中。非常感谢。
    • 正确做了一些研究,据我所知,您的 .wgetrc 文件存在冲突,您需要散列 --user-agent 并重试
    • 我在命令和日志文件保持不变。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2012-05-21
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2012-10-31
    • 2016-12-08
    相关资源
    最近更新 更多