1. 程式人生 > >python爬蟲beautifulsoup

python爬蟲beautifulsoup

操作 部分 parse import str 屬性字符串 parser bs4 demo

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文檔

  打印計較清晰,每個標簽,內容分行顯示。

python爬蟲beautifulsoup