如何在无头服务器中使用Chrome保存URL?

时间:2019-07-28 13:06:41

标签: google-chrome web-scraping selenium-chromedriver chromium google-chrome-headless

我想以编程方式保存网址,因为我可以使用Chrome的“另存为”进行手动保存。我愿意使用任何工具来完成此任务。如果无头Chrome无法做到这一点,那么也可以采用带头的(这是正确的词吗?:D)解决方案。

也可以使用其他浏览器,但是请注意,我希望将URL保存为“正常”浏览器进行保存。 (因为相关网址需要Javascript渲染,而且还会使phantomjs崩溃。)

请注意,我已经尝试过硒的page_source;它不会输出与Chrome的“另存为”相同的内容,其结果是不完整的,可与简单的卷曲相提并论。

PS:这是我要保存的网址https://outline.com/zKpUhM

更新1:

我找到了以下非解决方案:

https://github.com/abiyani/automate-save-page-as

1 个答案:

答案 0 :(得分:0)

我在https://splash.readthedocs.io中找到了答案。

安装后,这个小的shell函数可以完全满足我的要求:

full-html () {
    #doc splash should be up. https://splash.readthedocs.io
    #doc 'wait always waits the full time. Should be strictly < timeout.'
    curl --silent "http://localhost:8050/render.html?url=$1&timeout=90&wait=${fu_wait:-10}" -o "$2"
}

另请参阅:https://github.com/dhamaniasad/HeadlessBrowsers