抓取网页数据(用浏览器抓包分析数据的使用场景非常受限,且后面还要由一门后端语言做补充)
优采云 发布时间: 2021-09-23 03:15抓取网页数据(用浏览器抓包分析数据的使用场景非常受限,且后面还要由一门后端语言做补充)
使用方案非常有限,通过使用浏览器捕获,还必须稍后在后端语言中进行补充。这是一个更简单的想法,即:
替换了正则表达式
使用CSS选择器
留下场景是一个流氓,数据直接使用浏览器队长分析数据以满足以下要求:
1、数据相对静态,它不会频繁更改;
2、数据量非常大,人工提取非常麻烦;
3、所有数据基本上都可以在页面上抓取,后端语言请求URL,然后分析HTML成本并慢速。
也许有人会问,真的有这样的场景吗?
答案,存在,我已经遇到了类似的场景。
是想法,以下方案:(请注意,此场景不涉及HTTP相关内容,而不是在本文的讨论中)
用户可以自定义一个项目,这个项目有一个名称,带有图标。图标使用字体令人敬畏,一组很棒的图标公司和CSS框架,需要一个选项列表。
我们打开fontawesome官方网站,发现675个图标,如果手动进入我们的程序,显然是非常低效和浪费的时间,并使用后端请求然后写常规,调整错误。很多次,所以我们选择最简单,最粗鲁的方式 - 直接使用浏览器,即在开发人员工具中编写代码以获取DOM数据。
我想在一起我们必须得到的:
这里是一个简化的演示,只有一个数据:图标的类名,即所有类名,类似于“地址书”,“浴”。
由于它是抓取浏览器中的数据,它自然会涉及DOM操作,涉及DOM操作选择jQuery,因此让我们测试网站有j j j。 jquery。
非常好,可以使用它,然后下一步是分析DOM结构。
选择一个节点以查看其结构,可以找到以下信息:
1、每个图标由类“FA-HOVER COL-MD-3 COL-SM”包装,为我们提供了极大的便利,为我们提供整个页面;
2、类名称在SPAN标记后面。
所以现在我们将尝试使用“FA-HOVER COL-MD-3 COL-SM-SM-4”获取所有图标数据项。
从图中可以看出,我们已经获得了975个数据,然后你将直接在代码上从这些DOM获取图标类名称。
首先输出所有DOM,确认,然后获取数据。
分析DOM结构,我们需要的数据是“YC-Square”,直接使用文本功能直接获得:
但这是不够的,我们需要在示例的例子背后进行数据,所以继续分割处理:
成功获取,最后一步是构建这些数据:
所有推入数组,然后json,这样可以将这些数据复制到程序。
当然,这里只是为了演示,所以生成的结构相对简单,实际上,我们还可以对这些数据进行分类。
这是实际业务中使用的结构。
返回我们的主题:使用浏览器的高效装配分析数据。
在此业务下,没有必要请求URL。它不需要编写正则表达式。您可以获得最多5分钟的所需数据。这是一种非常有效的方式,这种方式也可以是无缝迁移到后端。
为什么要迁移到后端?由于与jQuery的高效选择器一起使用,可以在爬行动物数据分析领域中使用它而不是正则表达式。毕竟,网络中有很多HTML数据,如果使用jQuery选择器分析这些数据,则无疑将降低大阈值。增加更多的开发和生产效率。
推荐库可以使用jQuery:TMPVAR / JSDOM
在节点中:tmpvar / jsdom
不仅如此,还可以直接编译前端的JavaScript到V8,然后分析生成的HTML。
我在节点中没有尝试过jQuery,但我还没有尝试过它,但是通过在浏览器中获得元数据然后将业务处理完成了很多东西。
还有一个类网站有大量的下载链接,并且是html的公共。目前,我已经以这种方式下载了大量数据,后端连接到节点,异步模型非常好。
私人思想,未来的节点将摇动Python在爬行动物区域的位置,CSS选择器还将摇动数据提取中的正则表达式。