抓取网页数据(用浏览器抓包分析数据的使用场景非常受限,且后面还要由一门后端语言做补充)

优采云 发布时间: 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选择器还将摇动数据提取中的正则表达式。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线