溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

beautifulsoup4庫怎么用

發布時間:2021-09-23 11:22:07 來源:億速云 閱讀:270 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“beautifulsoup4庫怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“beautifulsoup4庫怎么用”這篇文章吧。

beautifulsoup4庫的使用

  使用requests庫獲取HTML頁面并將其轉化成字符串后,需要進一步解析HTML頁面格式,提取有用信息,這需要處理HTML和XML的函數庫。beautifulsoup4庫,也成為BeautifulSoup庫或者bs4庫,用于解析和處理HTML和XML。需要注意的是,它不是BeautifulSoup庫。它的最大優點是能根據HTML和XML語法建立解析樹,進而高效解析其中的內容。beautifulsoup4庫采用面向對象思想實現,簡單地說,它把每個頁面當作一個對象,通過< a>.< b>()的凡是調用方法(即處理函數)。

BeautifulSoup中常用的一些屬性如下:

  head:HTML頁面的< head>內容

  title:HTML頁面標題,在< head>之中,有< title>標記

  body:HTML頁面的< body>內容

  p:HTML頁面中第一個< p>內容

  strings:HTML頁面所有呈現在Web上的字符串,即標簽的內容

  stripped_strings:HTML頁面所有呈現在Web上的非空格字符串

  BeautifulSoup屬性與HTML的標簽名稱相同,遠不止這些。

   標簽對象的常用屬性:

  name:字符串,標簽的名字,比如div

  attrs:字典,包含了原來頁面Tag所有的屬性,比如href

  contents:列表,這個Tag下所有子Tag的內容

  string:字符串,Tag所包圍的文本,網頁中真是的文字,string屬性的返回值遵循如下原則:

 ?。?)如果標簽內部沒有其他標簽,string屬性返回其中的內容。

 ?。?)如果標簽內部還有其他標簽,但只有一個標簽,string屬性返回最里面標簽的內容。

 ?。?)如果標簽內部有超過1層嵌套的標簽,string屬性返回None(空字符串)。

  BeautifulSoup其中的兩個方法(這兩個方法會遍歷整個HTML文檔,按照條件返回標簽內容):

   BeautifulSboup.find_all(name,attrs,recursive,string,limit)

  作用:根據參數找到對應的標簽,返回列表類型。參數如下:

  name:按照tag標簽,名字用字符串形式表示,例如div、li。

  attrs:按照tag標簽屬性值檢索,需要列出屬性名稱和值,采用JSON表示。

  recursive:設置查找層次,只查找當前標簽下一層時使用recursive=False。

  string:按照關鍵字檢索string屬性內容,采用string=開始。

  limit:返回結果的個數,默認返回全部結果。

  簡單地說,BeautifulSoup的find_all()方法可以根據標簽名字、標簽屬性和內容檢索并返回標簽列表,通過片段字符串檢索時需要使用正則表達式re函數庫,re時Python標準庫,直接通過importre即可使用。采用re.comlile('jquery')實現對片段字符串(如‘jquery’)的檢索。當對標簽屬性檢索時,屬性和對應的值采用JSON格式,例如:'src':re.compile('jquery'),其中,鍵值對中值的部分可以是字符串或者正則表達式。

  除了find_all()方法,BeautifulSoup類還提供一個find()方法,它們的區別只是前者返回全部結果而后者返回找到的第一個結果,find_all()函數由于可能返回更多結果,所以采用列表形式:find()函數返回字符串形式。

   BeautifulSoup.find(name,attrs,recursive,string)

  作用:根據參數找到對應標簽,采用字符串返回找到的第一個值。

  參數:與find_all()方法一樣。

以上是“beautifulsoup4庫怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女