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
pppguest3962
V2EX  ›  Python

Python 环境可有现成的库/轮子/工具,下载网页+网页上的图片到本地?就像 IE 的另存为。。。

  •  
  •   pppguest3962 · 2018-12-31 23:11:17 +08:00 · 3505 次点击
    这是一个创建于 2149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可以把网页保存到本地,在本地另建一个文件夹, 使保存在本地的目标网页内的图片 /js 脚本 /falsh 等内容完全指向保存本地的文件夹内, 是否可以做到完全零流量,完全不需再指源站点去获取内容?

    题外话是,IE 好像保存得不完整吧? 好像打开 IE 在本地保存的网页,还是要去源站获取一些什么的,这个我没细究,也只是顺便问问。。。。但目前 python 我想这么做。。。^_^

    10 条回复    2019-01-01 10:43:03 +08:00
    neoblackcap
        1
    neoblackcap  
       2018-12-31 23:13:33 +08:00
    看网站,有一些网站必须跟服务器交互,那么你显然不可能将服务器所有的信息抓取下来。
    iAcn
        2
    iAcn  
       2018-12-31 23:15:29 +08:00 via Android
    Python MHT Library 应该可以吧,
    保存成 mht 格式。
    pppguest3962
        3
    pppguest3962  
    OP
       2018-12-31 23:42:34 +08:00
    @neoblackcap,目标网页是相对比较静态的话。。。。呢?

    @iAcn mht 不好后期处理啊。。。
    pppguest3962
        4
    pppguest3962  
    OP
       2018-12-31 23:45:51 +08:00
    目标网页如果相对比较静态,flash 用个什么 downloader 工具都可以下载下来的,没有什么 ajax 复杂交互的情况,

    网页结构没有复杂到马云家,优酷那样,比如类似这样的一个网页:

    http://www.stats.gov.cn/tjsj/zxfb/201812/t20181231_1642475.html
    cdlnls
        5
    cdlnls  
       2019-01-01 00:10:25 +08:00 via iPhone
    想到 wget
    congeec
        6
    congeec  
       2019-01-01 06:10:43 +08:00
    调用浏览器吧,puppeteer、selenium 了解下
    zhustec
        7
    zhustec  
       2019-01-01 08:37:51 +08:00
    wget 了解一下
    bwangel
        8
    bwangel  
       2019-01-01 10:12:02 +08:00
    建议使用截图吧。

    除了视频文件,整个页面的内容都可以通过截图保存下来。

    关键字: headless chrome, selenium

    https://developers.google.com/web/updates/2017/04/headless-chrome

    https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.get_screenshot_as_png
    imn1
        9
    imn1  
       2019-01-01 10:41:26 +08:00
    目的?
    如果只是想下载,wget 有 followlink,甚至全站都可以拉下来
    如果想做个 class 给其他程序调用,就需要另外研究,不过 parse 一次页面也不太难
    imn1
        10
    imn1  
       2019-01-01 10:43:03 +08:00
    顺带提醒一下,看看站点有没有反爬,咳咳,你会被告的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1202 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:29 · PVG 02:29 · LAX 10:29 · JFK 13:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.