Python爬虫之BeautifulSoup库函数解析

Python爬虫之BeautifulSoup库函数解析


简介

Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。它可以大大节省你的编程时间。

安装

安装Python的包管理器pip,然后执行以下命令

pip install beautifulsoup4

使用

在代码中用到BeautifulSoup时需要引入,引入方式如下

from bs4 import BeautifulSoup

基本用途

  1. 将html文档解析成文档树,返回bs对象
  2. 通过get_text()函数返回文档除链接、标签、段落外的文本内容
  3. find函数和findAll函数通过标签和属性过滤html页面,标签可以多个,属性是字典类型,自然可以多值
  4. 3中的两个函数当通过keyword参数过滤时,如果key为class,则需写为class_=“green”
  5. bs对象可以直接调用子标签来返回,但这种方式灵活性不大,当页面结构发生些许改变后,可能会导致爬虫程序不能正确返回结果。
  6. 子代标签就是父标签的下一级,而后代标签是父标签下所有级别的标签
  7. 可以处理兄弟标签,向前处理或者向后处理,返回的列表不包括自身对象
  8. 为了让爬虫更稳定,最好还是让标签的选择更加的具体,意思就是尽可能多的指定属性
  9. 可以处理父标签
  10. 大多数支持字符串参数的函数,都可以使用正则表达式来实现
  11. 可以通过myTag.attrs返回所有属性,为字典类型
  12. BeautifulSoup允许把特定函数类型当做findAll函数的参数,如使用lambda表达式。唯一的限制就是这些函数必须把一个标签当做参数且返回结果是布尔类型。BeautifulSoup用这个函数来评估它遇到的每个标签对象,最后把评估结果为真的标签保留,把其他标签删除。

BeautifulSoup详细的文档描述可以参见BeautifulSoup中文文档

BeautifulSoup库并不是我们在写爬虫时唯一的选择,如果不能满足项目需求,我们也可以使用其他的库,比如lxml、HTML parser(python自带)

你可能感兴趣的:(python,爬虫)