第六章 网页解析器和BeautifulSoup第三方插件

6.1 网页解析器简介

  • 网页解析器:从网页中提取有价值数据的工具(对于搜素引擎来说,它可以提取出网页中所有的URL,但是对于定向爬虫来说,除了提取出待爬取网页中所有的URL之外,同时也会提取出有价值的数据)。
  • 网页解析器会以下载好的Html 网页字符串作为输入,然后提取出游价值的数据和新的待爬取的URL列表

  • Python 有几种网页解析器?

  • 1.正则表达式:
    会将整个网页文档当成一个字符串,使用模糊匹配的方式来提取出有价值的数据,虽然直观,但是如果文档比较复杂的话,这种方式非常的麻烦。
  • 2.使用python自带的html.parser模块来解析网页
  • 3.使用Beautiful Soup第三方插件来解析网页(可以使用html.parser,lxml作为解析器)
  • 4.使用lxml第三方插件解析html网页或xmL网页
    图片10
  • 结构化的解析

  • 将整个文档下载成一个DOM树,以树的形式进行上下级的延续和遍历,DOM树会将整个html网页当成一个Document对象。
  • 图片11
  • DOM的树形结构根据上下级关系,可以很方便的定位到各个元素,然后访问这个元素的属性或者文本

6.2 Beautiful Soup模块的介绍和安装

  • Beautiful Soup
    ——Python 第三方库,用于从HTMl或XML中提取数据
    ——官网:http://www.crummy.com/software/BeautifulSoup/
  • 安装并测试beautifulsoup4
    ——安装:pip install beautifulsoup4
    图片12
    图片13
    ——测试:import bs4
    再次运行测试程序
    控制台输出如下,说明已经成功安装bs4模块

6.3 BeautifulSoup的语法

  • 根据Html 网页创建BeautifulSoup对象,也就是创建一棵DOM树,然后根据DOM树进行各种节点的搜索(find_all方法可以搜索出所有满足要求的节点,find方法只会搜索出第一个满足要求的节点,两个方法的参数是一样的),得到了一个节点之后,我们就可以访问节点的名称,节点的属性,节点的文字;相应的,在搜索节点的时候,我们也可以按照及节点的名称进行搜索,按照节点的属性进行搜索,或者说按照节点的文字进行搜索。我们将节点的内容分成名称,属性,文字。图片14

6.4 BeautifulSoup的实例代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值