1. 程式人生 > >Python 爬蟲-BeautifulSoup

Python 爬蟲-BeautifulSoup

nbsp des 字典 ren 轉換成 comment 第一個 cnblogs color

2017-07-26 10:10:11

Beautiful Soup可以解析html 和 xml 格式的文件。

Beautiful Soup庫是解析、遍歷、維護“標簽樹”的功能庫。使用BeautifulSoup庫非常簡單,只需要兩行代碼,就可以完成BeautifulSoup類的創建,這裏命名為soup,接下來就可以對soup進行相關處理了。一個BeautifulSoup類對應html或者xml的全部內容。

BeautifulSoup庫將任意html文件轉換成utf-8格式

技術分享

一、解析器

BeautifulSoup類創建的時候第二個參數是解析器,上面的代碼中用的解析器為‘html.parser’,BeautifulSoup支持的解析器有:

技術分享

二、BeautifulSoup類的基本元素

技術分享

技術分享

  • 使用soup.tag來訪問一個標簽的內容,如:soup.title;soup.a等,這裏的返回值為訪問標簽的第一個出現的值
  • 使用soup.tag.name可以得到當前標簽的名字,返回值為字符串,如:soup.a.name 會返回字符串 ‘a’,也可以使用soup.a.parent.name來查看 a 標簽父母的名字
  • 使用soup.tag.attrs可以得到當前標簽的屬性,返回值為一個字典,如果沒有屬性會返回一個空字典,如:soup.a.attrs 會返回 a 標簽的屬性信息
  • 使用soup.tag.string可以得到當前標簽的字符串,如:soup.a.string 會返回 a 標簽的內容字符串
  • 內容字符串有兩種類型一是NavigableString類型,一種是Comment類型,Comment類型的格式是<p> <!-- This is an comment --></p>,在調用soup.p.string是會返回This is an comment,但是其類型是Comment類型。

三、soup的內容遍歷