V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
billgreen1
V2EX  ›  Python

如何批量下载文件?

  •  
  •   billgreen1 · 2017-11-15 08:01:26 +08:00 · 7428 次点击
    这是一个创建于 2325 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用 google 搜索时,经常能搜索到一些网站上的 PDF 文件,一般像这样的 url http://www.example.com/aaa/b1/c1/1.pdf
    http://www.example.com/aaa/b2/c3/1.pdf

    这时候我一般喜欢用 site:example.com inurl:aaa 来获取这个网站的 pdf,这时候只能手动点击网页链接下载。


    直接浏览器访问 http://www.example.com/aaa/b2/c3 这样是访问不了的

    我想有没有比较好的方式去下载这所有的
    16 条回复    2017-11-15 10:33:08 +08:00
    XiaoFaye
        1
    XiaoFaye  
       2017-11-15 08:12:50 +08:00 via Android
    好像有批量下载文件的浏览器插件,你找找看。
    rocksolid
        2
    rocksolid  
       2017-11-15 08:30:42 +08:00
    迅雷之类不是可以直接全部下载么
    YTS
        3
    YTS  
       2017-11-15 08:34:44 +08:00 via iPhone
    如果你能说一下如何用的谷歌搜索就最好了。。。
    ws1689371
        4
    ws1689371  
       2017-11-15 08:35:00 +08:00
    迅雷这些软件都有批量下载,你反正名称都知道了
    master13
        5
    master13  
       2017-11-15 08:38:58 +08:00
    迅雷有格式化 URL 批量下载的功能,但是这个功能不支持携带 cookie,导致部分网站不能用
    M3ng
        6
    M3ng  
       2017-11-15 08:39:41 +08:00 via iPhone
    filetype:pdf
    下载可以用 down them all 之类的浏览器插件,检测网页上的所有资源链接并按要求过滤下载。
    billgreen1
        7
    billgreen1  
    OP
       2017-11-15 09:18:32 +08:00
    @YTS 额,我以为我说清楚了,不过可能还是没说清楚。你用 Google 搜索 site:hysec.com inurl:tsnr 这个试试。

    @XiaoFaye @M3ng @rocksolid @ws1689371 @master13 我刚用了 Firefox 插件 downthemall 试了一下,确实可以下载,已经比一个一个点击下载方便多了。 但是翻页还是得自己去翻页,我自己目前在考虑怎么用 selenium+phantomjs,看能否下载所有的。

    这个方法不好的地方在于:有些 pdf google 不一定检索到, 要是能直接下载目录就好了。
    lrxiao
        8
    lrxiao  
       2017-11-15 09:28:07 +08:00
    https://gist.github.com/Airtnp/f6d4ce2ee116dab9ffdfbd3f11c3e762

    以前写过一个玩具。。。用法就是
    python PDF_downloader.py url folder [如果文件不用 url/...格式]
    lrxiao
        9
    lrxiao  
       2017-11-15 09:28:42 +08:00
    最后一个参数就是如果换个 base url。。
    Seymer
        10
    Seymer  
       2017-11-15 09:37:55 +08:00   ❤️ 1
    你是说这样么?

    wget -r -A pdf,pptx,txt https://www.example.com/aaa/b1/c1/
    sucaihuo
        11
    sucaihuo  
       2017-11-15 09:42:28 +08:00
    迅雷,有规则
    nuansediao
        12
    nuansediao  
       2017-11-15 10:00:19 +08:00
    @billgreen1 翻页除了一页显示 100 个,好像也没有其他更好的办法吧。
    lrxiao
        13
    lrxiao  
       2017-11-15 10:01:55 +08:00
    我觉得 lz 是想扫人家网站上的 archive..
    billgreen1
        14
    billgreen1  
    OP
       2017-11-15 10:09:34 +08:00
    额,是的,有些网站是可以进到目录里面的,但是有些不是,不能直接访问目录
    Norie
        15
    Norie  
       2017-11-15 10:12:37 +08:00
    Internet Downloader ?
    ZxBing0066
        16
    ZxBing0066  
       2017-11-15 10:33:08 +08:00
    chrome 按 F12 打开控制台 然后输入
    ```js
    function downloadFile(url) {
    const aLink = document.createElement('a');
    aLink.download = '';
    aLink.href = url;
    aLink.click();
    }
    document.querySelectorAll('cite').forEach(d => downloadFile(`http://${d.innerText}`))
    ```
    回车下载当前页面的内容
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4013 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:19 · PVG 18:19 · LAX 03:19 · JFK 06:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.