代码之家  ›  专栏  ›  技术社区  ›  Hugolpz

如何将网页目标元素编程打印成图像?

  •  2
  • Hugolpz  · 技术社区  · 5 年前

    给出一个在线网页:

    https://stackoverflow.com/users/1974961
    

    给定一个目标元素 id="REPUTATION" (此处人工加上红色边框)在该网页中:

    enter image description here

    如何打印成图像 reputation_1974961.ext 这个元素?

    2 回复  |  直到 5 年前
        1
  •  1
  •   IceMetalPunk    5 年前

    看看这个图书馆: https://www.npmjs.com/package/html2png

    html2png库允许您将HTML字符串传递给它的 render

    至于抓取该元素的HTML字符串:用 request 或者您所选择的请求库,然后使用像Cheerio这样的东西来针对您想要的元素并获取其HTML。(干杯: https://www.npmjs.com/package/cheerio ).

    可能存在一些问题,例如您可能还需要从返回的HTML中获取一些样式,并将其复制到呈现字符串中,但这应该可以帮助您找到正确的方向:)

        2
  •  1
  •   Bitto    5 年前

    不完全是使用div id,但是我可以使用 imgkit 和玩弄wkhtmltopdf选项。您需要安装链接中提到的imgkit和wkhtmltopdf。

    here .

    import imgkit
    options = {
        'crop-h': '300',
        'crop-w': '400',
        'crop-x': '100',
        'crop-y': '430'
    }
    
    imgkit.from_url('https://stackoverflow.com/users/1974961/hugolpz?tab=questions', 'out.jpg',options=options)
    

    enter image description here

    这不是完美的,你可以看到,但肯定是一个选项,你可以考虑。