【问题标题】:How to write BeautifulSoup resultset to the html file?如何将 BeautifulSoup 结果集写入 html 文件?
【发布时间】:2017-06-26 03:37:41
【问题描述】:

我正在从网站http://www.geeksforgeeks.org/amazon-interview-set-3/ 获取亚马逊采访。我能够得到我想要的结果集,但它是 html 形式的。看起来是这样的:

<p> Hello People <p>
....
....
....

我想把html输出成一个新的html文件,然后用pdfkit把html文件转成pdf。

按照答案中的建议,我已经使用命令 pip install wkhtmltopdf 安装了 wkhtmltopdf。

然后当我尝试使用命令时

pdfkit.from_url('http://example.com/', 'sample.pdf')

OSError:找不到 wkhtmltopdf 可执行文件:“b''” 如果此文件存在,请检查此进程是否可以读取它。否则请安装 wkhtmltopdf - https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf

我搜索了解决方案并按照以下步骤操作:

  1. 使用 Windows 安装程序安装了 wkhtmltopdf。
  2. 在系统和用户的环境变量路径中添加可执行文件的路径。
  3. 使用 pip 命令卸载 wkhtmltopdf 然后重新安装。

但错误依旧。

当我使用以下命令导入 wkhtmltopdf 模块时

import wkhtmltopdf

我得到如下错误

C:\Anaconda3\lib\site-packages\wkhtmltopdf\__init__.py in <module>()
1 from main import WKhtmlToPdf, wkhtmltopdf
  2 import api
ImportError: No module named 'main'

【问题讨论】:

    标签: python-3.x beautifulsoup python-requests


    【解决方案1】:

    如果你打算使用pdfkit,你可以将 HTML 字符串通过管道传递给它直接

    import pdfkit
    
    pdfkit.from_string('your HTML string', 'out.pdf')
    

    【讨论】:

    【解决方案2】:

    如果您想将 .html 文件转换为 .pdf 格式,这将立即完成。

    import pdfkit
    
    pdfkit.from_file('sample.html', 'sample.pdf')
    

    如果您想通过 url 执行此操作,请改为执行此操作。

    import pdfkit
    
    pdfkit.from_url('http://sample.com', 'sample.pdf')
    

    【讨论】:

    • 找不到 wkhtmltopdf 可执行文件:"b''" 如果此文件存在,请检查此进程是否可以读取它。否则请安装 wkhtmltopdf - github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
    • 你安装wkhtmltopdf了吗??
    • 先安装wkhtmltopdf,然后运行'pip install pdfkit'。
    • 我已经安装了 wkhtmltopdf,但是当我导入它时,我在 () 中收到错误 C:\Anaconda3\lib\site-packages\wkhtmltopdf_init_.py - ---> 1 from main import WKhtmlToPdf, wkhtmltopdf 2 import api ImportError: No module named 'main'
    • 请更新您的问题添加错误,因为您的问题不只是关于错误的方法。 :)) 请添加详细信息,我会看看。
    【解决方案3】:

    如果您收到此错误:

    找不到 wkhtmltopdf 可执行文件:"b''" 如果此文件存在,请 检查此进程是否可以读取它。否则请安装 wkhtmltopdf - github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf

    解决方案是创建一个名为“config”的变量并传递“\wkhtmltopdf\bin\wkhtmltopdf.exe”的路径,如:

    config = pdf.configuration(wkhtmltopdf=bytes('C:\Program Files\wkhtmltopdf\\bin\wkhtmltopdf.exe', 'utf-8'))
    

    然后这样做:

    pdf.from_file(file_html, 'sample.pdf', options=options, configuration=config)
    

    不需要在脚本中导入 wkhtmltopdf。只需传递给配置变量即可。

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多