HTML到PDF脚本

时间:2018-01-27 19:31:07

标签: bash unix pdf curl

我想要一些帮助...

我目前正在使用wl使用curl会话cookie下载页面,如下所示:

wget --header="Host: www.######.###" --header="User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/63.0.3239.84 Chrome/63.0.3239.84 Safari/537.36" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" --header="Accept-Language: en-US,en;q=0.9,##-##;q=0.8,##;q=0.7,nl;q=0.6" --header="Cookie: s=kfegregregregqv3; _ga=GA1.2.52341686.1516234087; _gid=GA1.2.2234276049.154324915" --header="Connection: keep-alive" "http://www.########.##/#####/#####/" -O "####.html" -c

它很棒,因为这个网站需要登录才能访问页面......

问题是page.html保存时没有任何图片......

无论如何,在bash脚本中,使用cookie验证保持活动将此网页转换为PDF?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果使用wget找到解决方案需要时间,可以在python中执行此操作。

安装wkhtmltopdf。如果您使用的是Mac:brew install Caskroom/cask/wkhtmltopdf。如果您使用的是Ubuntu:sudo apt-get install wkhtmltopdf

然后安装pdfkit:pip install pdfkit

import pdfkit
options = {
    'encoding': "UTF-8",
    'custom-header' : [
        ('Accept-Encoding', 'gzip')
    ]
    'cookie': [
        ('cookie-name1', 'cookie-value1'),
        ('cookie-name2', 'cookie-value2'),
    ],
    'no-outline': None
}
pdfkit.from_url('http://google.com', 'out.pdf', options=options)

复制上面的代码并将其另存为yourfilename.py。根据您的要求替换cookie和选项值。

从终端

运行python yourfilename.py