网站内容抓取(爬取网页时如何找到对我们有效的信息呢?)

优采云 发布时间: 2022-01-29 22:13

  网站内容抓取(爬取网页时如何找到对我们有效的信息呢?)

  之前我提到了网络爬虫的风险,保护个人数据/信息的重要性。

  当然,小编不是来要求大家爬取个人信息的,但正因为有这种可能,所以越要保护好自己的隐私。

  那么,当我们抓取网络时,我们如何找到对我们有用的信息呢?也就是说,找到之后,我们如何通过Python打印出一系列信息呢?

  1.为什么要提取信息?

  首先,Python爬虫爬取网页时,无法打印出整个网页信息。至于为什么,看过网页源码的就知道了,按F12或者右键查看源码(或者查一下),可以看到一个网页收录很多信息,比如小编个人博客源码:

  这包括前端HTML或其他语言代码,处理起来会很麻烦。我想以前没有人这样做过。

  在提取信息之前,我们先来了解一下信息的标记,就像我们家里有很多物品一样。为了让别人知道它的功能,我们用小纸片将各种物品的功能写在小纸片上,贴在物品上。.

  那么信息标注的好处也是显而易见的:

  To: 网页中 HTML 的信息标签: H: hyper

  T:文字

  M:标记

  L:语言

  HTML是www的信息组织形式:可以将声音、图像、视频等超文本信息嵌入到文本中。

  HTML 以预定义的 ... 标签的形式组织不同类型的信息。

  2.三个信息标签

  国际公认的三种信息标记:XML、JSON、YAML

  XML

  XML:XML(可扩展标记语言):Extensible Markup Language,一种与HTML非常接近的标准语言,使用基于标签的方法来构造和表达信息。喜欢:

  <img scr="china.jpg" size="10">...</img> #img为名称,即Name

scr="china.jpg" size="10"是属性Attribute

为注释

  例子:

  

tian

湖南

长沙

Com

  HTML是在XML之前出现的,可以说XML是在HTML的基础上发展起来的。

  JSON

  JSON:JavsScript 对象表示法

  由类型化的键值对构成,例如:key:value

  示例:“名称”:“北京”“名称”:[“北京”,“湖南”]

  当我们嵌套使用:"name":{"newname":"Beijing","oldname":"Hunan"}

  例子:

  {

"first Name":"tian",

"addres":{

"streeAddr":"湖南"

"city":"长沙

},

"prof":["Com","ser"]

}

  YAML

  YAML:另一种标记语言

  无类型键值对 key:value

  如:姓名:北京

  嵌套时,使用缩进

  特点: | 表达整块数据#表达注释-表达平行关系

  例子:

  first Name:tian

addres:

streeAddr:湖南

city:长沙

prof:

-Com

-ser

  3.三种标签形式的比较

  信息标记形式的简单比较:

  三种主流标签形式的比较和用处:

  4.信息提取的三种方法

  1.完整解析信息的标记形式,然后提取关键信息(解析)

  需要一个标签解析器,例如:bs4 库的标签树遍历。

  优点:准确的信息分析。

  缺点:提取过程繁琐,速度慢。

  2.忽略标记形式,直接搜索关键信息。(搜索)

  搜索:向信息发送文本搜索功能。

  优点:提取过程简单、快速。

  缺点:提取结果的准确性与直接的信息内容有关。

  3.融合方法(搜索+解析):

  结合形式解析和搜索方法来提取关键信息。

  需要分词器解析器以及文本查找功能。

  结合以上两种方法是最好的选择。

  Python爬虫系列,待续……

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线