你能用css格式抓取网页吗?



我想制作一个可以与Symbolab交互的python bot。这里有一个例子。我尝试使用请求库和HCTI库的一个示例来将页面呈现为图像。每当我这样做时,页面就会失去其格式。我是新的网页抓取,但我认为这是由于css没有被渲染,因为我只是抓取html。是否有我的方式,我可以保存一个像Symbolab这样的网站的图像文件,以一种方式,使页面像一个web浏览器(所有的方程都是可读的等)?

你是正确的,css没有呈现。当你使用requests库时,你就得到了get的目的。如果你看symbolab的页,他们的css是在<link href="/public/auto/main.min.css?110025" rel="Stylesheet" type="text/css">内的head的网页的html。

如果你想使用HCTI(我假设是https://htmlcsstoimage.com/?),看起来它们接受html参数以及单独的css参数。所以你可以有另一个请求https://www.symbolab.com/public/auto/main.min.css?110025来获得CSS和使用HCTI。

但是这只是假设在他们的页面上没有其他CSS引用,并且这个URL不会失效。为了解决这个问题,你可以抓取你收到的html作为CSS引用,并始终获得最新的链接。

一个更简单的解决方案可能是使用Selenium以编程方式控制浏览器,它将完成所有呈现,就像您在普通浏览器上一样。然后,您可以使用Selenium对页面进行截图。甚至是一个特定元素的图片。请看这个答案

希望对你有帮助。

最新更新