python爬虫beautifulsoup

1、BeautifulSoup库,也叫beautifulsoup4或bs4

  功能:解析HTML/XML文档

2、HTML格式

  成对尖括号构成

3、库引用

#bs4为简写,BeautifulSoup为其中一个类
from bs4 import BeautifulSoup
#直接引用库
import bs4

3.1、BeautifulSoup类

  >>from bs4 import BeautifulSoup

  >>soup=BeautifulSoup("<html>data</html>","html.parser")

  >>soups=BeautifulSoup(open("D://demo.html"),"html.parser")

  可以直接操作源码,也可以操作文件

  3.1、html.parser为bs4的html解析器,安装了bs4库即可使用

     lxml为lxml的HTML解析器,安装lxml

     xml为lxml的xml解析器,安装lxml

     html5lib为html5lib的解析器,安装html5lib

  3.2、基本元素

    3.2.1、Tag:标签,最基本信息组织单元,分别用<>和</>标明开头和结尾

    3.2.2、Name:标签的名字,<p>...</p>,格式:<tag>.attrs

    3.2.3、Attributes:标签的属性,字典形式的组织,格式<tag>.attrs

    3.2.4、NavigableString:标签内非属性字符串,<>...</>中字符串,格式<tag>.string

    3.2.5、Comment:标签内字符串的注释部分,一种特殊的Comment类型

  3.3、标签遍历

    3.3.1、下行遍历

        .contents:返回列表类型

        .children:返回迭代类型,智能用在for循环语句中

        .descendants:返回迭代类型,智能用在for循环语句中

    3.3.2、上行遍历

        .parent:返回当前节点的父亲节点

        .parents:返回当前节点所有先辈节点

    3.3.3、平行遍历

        .next_sibling

        .previous_sibing

        .next_siblings:迭代类型

        .previous_siblings:迭代类型

4、html格式输出

  python3.x系列支持的是utf-8编码,bs4库支持utf-8编码,如果使用python2.x需要编码转化  

  >>soup=BeautifulSoup(demo,"html.parser")

  >>print(soup.prettify())

  demo为HTML文档

  打印计较清晰,每个标签,内容分行显示。

 

posted @ 2019-01-28 22:37  小小白爱学习~  阅读(285)  评论(0编辑  收藏  举报