老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

BeautifulSoup庫的使用方法

小編給大家分享一下Beautiful Soup庫的使用方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

目前創新互聯建站已為近千家的企業提供了網站建設、域名、網頁空間、網站托管運營、企業網站設計、象山網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

Beautiful Soup是一個可以從HTML或XML文件中提取數據的Python庫。它能夠通過你喜歡的轉換器實現慣用的文檔導航,查找,修改文檔的方式。Beautiful Soup 會幫你節省數小時甚至數天的工作時間。

1. 安裝

以下都是在 python2.7 中進行測試的。

可以直接使用 pip 安裝:

$ pip install beautifulsoup4

BeautifulSoup 不僅支持 HTML 解析器,還支持一些第三方的解析器,如,lxml,XML,html5lib 但是需要安裝相應的庫。

$ pip install lxml
$ pip install html5lib

2. 開始使用

Beautiful Soup 的功能相當強大,但我們只介紹經常使用的功能。

簡單用法

將一段文檔傳入 BeautifulSoup 的構造方法,就能得到一個文檔的對象, 可以傳入一段字符串或一個文件句柄。

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup("

data

") >>> soup

data

>>> soup('p') [

data

]

首先傳入一個 html 文檔,soup 是獲得文檔的對象。然后,文檔被轉換成 Unicode ,并且 HTML 的實例都被轉換成 Unicode 編碼。然后,Beautiful Soup 選擇最合適的解析器來解析這段文檔,如果手動指定解析器那么 Beautiful Soup 會選擇指定的解析器來解析文檔。但是一般最好手動指定解析器,并且使用 requests 與 BeautifulSoup 結合使用, requests 是用于爬取網頁源碼的一個庫,此處不再介紹,requests 更多用法請參考  Requests 2.10.0 文檔 。

要解析的文檔是什么類型: 目前支持, html, xml, 和 html5

指定使用哪種解析器: 目前支持, lxml, html5lib, 和 html.parser

from bs4 import BeautifulSoup
import requests
html = requests.get(‘http://www.jianshu.com/’).content  
soup = BeautifulSoup(html, 'html.parser', from_encoding='utf-8')
result = soup('div')

對象的種類

Beautiful Soup 將復雜 HTML 文檔轉換成一個復雜的樹形結構,每個節點都是 Python 對象,所有對象可以歸納為 4 種: Tag , NavigableString , BeautifulSoup , Comment。

Tag:通俗點講就是 HTML 中的一個個標簽,像上面的 div,p。每個 Tag 有兩個重要的屬性 name 和 attrs,name 指標簽的名字或者 tag 本身的 name,attrs 通常指一個標簽的 class。

NavigableString:獲取標簽內部的文字,如,soup.p.string。

BeautifulSoup:表示一個文檔的全部內容。

Comment:Comment 對象是一個特殊類型的 NavigableString 對象,其輸出的內容不包括注釋符號。

示例

下面是一個示例,帶你了解 Beautiful Soup 的常見用法:

import sys  
reload(sys)  
sys.setdefaultencoding('utf-8') 
from bs4 import BeautifulSoup
import requests
html_doc = """

      
      
    首頁 - 簡書



  
      
    
               阿隨向前沖         ·                

       只裝了這六款軟件,       工作就高效到有時間逛某寶刷某圈                           閱讀 1830                     · 評論 35          · 喜歡 95            · 打賞 1                
    
   """ soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8') # 查找所有有關的節點 tags = soup.find_all('li', class_="have-img") for tag in tags:         image = tag.img['src']         article_user = tag.p.a.get_text()         article_user_url = tag.p.a['href']               created = tag.p.span['data-shared-at']                 article_url = tag.h5.a['href']         # 可以在查找的 tag 下繼續使用 find_all()         tag_span = tag.div.div.find_all('span')         likes = tag_span[0].get_text(strip=True)

BeautifulSoup 主要用來遍歷子節點及子節點的屬性,通過點取屬性的方式只能獲得當前文檔中的第一個 tag,例如,soup.li。如果想要得到所有的

  • 標簽,或是通過名字得到比一個 tag 更多的內容的時候,就需要用到 find_all(),find_all() 方法搜索當前 tag 的所有 tag 子節點,并判斷是否符合過濾器的條件find_all() 所接受的參數如下:

    find_all( name , attrs , recursive , string , **kwargs )

    按 name 搜索: name 參數可以查找所有名字為 name 的 tag,字符串對象會被自動忽略掉:

    soup.find_all("li")

    按 id 搜索: 如果包含一個名字為 id 的參數,搜索時會把該參數當作指定名字 tag 的屬性來搜索:

    soup.find_all(id='link2')

    按 attr 搜索:有些 tag 屬性在搜索不能使用,比如 HTML5 中的 data-* 屬性,但是可以通過 find_all() 方法的 attrs 參數定義一個字典參數來搜索包含特殊屬性的 tag:

    data_soup.find_all(attrs={"data-foo": "value"})

    按 CSS 搜索: 按照 CSS 類名搜索 tag 的功能非常實用,但標識CSS 類名的關鍵字 class 在 Python 中是保留字,使用 class 做參數會導致語法錯誤.從 Beautiful Soup 的 4.1.1 版本開始,可以通過 class_ 參數搜索有指定 CSS 類名的 tag:

    soup.find_all('li', class_="have-img")

    string 參數:通過 string 參數可以搜搜文檔中的字符串內容.與 name 參數的可選值一樣, string 參數接受 字符串 , 正則表達式 , 列表, True 。 看例子:

    soup.find_all("a", string="Elsie")

    recursive 參數:調用 tag 的 find_all() 方法時,Beautiful Soup 會檢索當前 tag 的所有子孫節點,如果只想搜索 tag 的直接子節點,可以使用參數 recursive=False .

    soup.find_all("title", recursive=False)

    find_all() 幾乎是 Beautiful Soup中最常用的搜索方法,也可以使用其簡寫方法,以下代碼等價:

      soup.find_all("a")
        soup("a")
    get_text()

    如果只想得到 tag 中包含的文本內容,那么可以用 get_text() 方法,這個方法獲取到 tag 中包含的所有文版內容包括子孫 tag 中的內容,并將結果作為 Unicode 字符串返回:

    tag.p.a.get_text()

    看完了這篇文章,相信你對Beautiful Soup庫的使用方法有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!


    本文題目:BeautifulSoup庫的使用方法
    鏈接地址:http://www.xueling.net.cn/article/jdghsi.html
  • 其他資訊

    在線咨詢
    服務熱線
    服務熱線:028-86922220
    TOP
    主站蜘蛛池模板: 三年片在线观看免费视频 | 在线超碰 | 女人16毛片a级毛片成年 | 久久人人爽人人爽人人片亚洲 | 四虎成人精品在永久在线 | 色综合久久久无码中文字幕波多 | 搐搐国产丨区2区精品av | 免费观看一次性A片 | 亚洲伦理偷拍 | 国产目拍亚洲精品一区二区 | 欧美猛男军警GAY自慰 | 日本网站一区二区三区 | 99ri在线| 永久91嫩草亚洲精品人人 | 久久在线免费观看视频 | 日本一道本在线视频 | 欧美乱大交aaaa片if | 久久成人免费精品网站 | 欧美精品久久久久久久久大尺度 | 国产精品久久久久久久久免费高清 | 午夜精品久久久久久久91蜜桃 | 日本理论永久 | 欧美日韩第一页 | 午夜中文 | 精品久久综合1区2区3区激情 | 欧美一区二区三区免费在线观看 | 欧美人与拘性视交 | 久久九九免费视频 | 午夜老司机免费视频 | 天天操天天操天天操天天 | 国产精品美女黄网 | 亚洲精品TV久久久久久久久J | 久色视频 | 汉服女装齐胸襦裙被c到喷水 | 人人妻人人插视频 | 久久精品牌麻豆国产大山 | 精产嫩模国品一二三区 | 欧美激情aa | 免费在线观看黄片毛片a | 最近日本中文字幕 | 成人亚州|