内容采集系统(如何检测某个标签是否有css文件?(一))
优采云 发布时间: 2021-10-21 02:02内容采集系统(如何检测某个标签是否有css文件?(一))
内容采集系统在web的开发中应用也是越来越多了,分析网页内容。发现标签中的css可能是影响抓取效率的一个重要因素。通过检测网页内容中的css标签,这一工作可以在网站上很容易地做到。但是,一旦抓取的网页存在多个css标签,结果可能不能预期。因此,为网页创建一个封装过的css文件是非常有必要的。css文件也是完整网页开发文件的一部分。
把封装好的css文件和网页(包括ajax)作为一个文件会很容易查看某个标签中的css。因此,网页抓取系统需要为网页保留一个css文件夹,以方便重新编译某个标签。如下图所示:如果未保留一个css文件,在抓取网页时,如何检测某个标签是否有css文件呢?首先,我们了解一下有用的浏览器工具是如何工作的。有的浏览器可以看到元素的css名称,这是一个伪css名称,但是我们可以检测它的css值,也就是我们最关心的值。
有用的浏览器工具只是在不必要时弹出“猜测值”的弹窗。如果出现“标记者提示”的弹窗,可以忽略。这里,firefox已经工作,但是chrome/ie可能还没有工作。检测某个标签有没有包含css标签我们可以通过检测网页是否加载css文件的方式来判断是否有css文件。firefox提供了一个名为network文件。
其中包含网站加载所有内容所用的css文件名的网址(requests.css),并且要求你打开。网页加载所有内容时,url需要变化。很快我们就会发现url变了,因为浏览器下载css文件的量在不断增加。当某个标签被包含时,浏览器会出现一个弹窗。最简单的方法是通过chrome或者ie的开发者工具中的“network”->“response”一栏。
但是,如果网站加载了超过100个网页,这个功能将失效。当数量太多时,网页加载会快慢依赖于浏览器的缓存。对于现在这种flash页面,我们必须抛弃这种方法。但是对于ie,因为其缓存是动态加载的,所以很难定位这个标签中有没有加载他的css文件。此外,所有页面只需要注意一件事,即该标签被检测过。当url和所加载的css文件名对应时,url变化了。
首先,我们检查网页是否有多个html标签,比如、、、、、等等。如果没有,我们可以抛弃这种做法。但是,实际上,有些标签只有一个:、<a>等。我们可以分析这些标签,看看有没有title>的css。一般说来,css(包括assignments属性)会保留在html中,而不是text-shadow中。如果没有检测到,那就可以抛弃了。通过检测网页的代码,可以帮助快速发现标签的css名称是什么,以及使用的css作用。在。