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

版权声明:欢迎转载,转载请注明出处 https://blog.csdn.net/Tifficial/article/details/54810105

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对象。 图片11DOM的树形结构根据上下级关系,可以很方便的定位到各个元素,然后访问这个元素的属性或者文本

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的实例代码

猜你喜欢

转载自blog.csdn.net/Tifficial/article/details/54810105