讓Python更便捷-簡介Python常用的標準庫與介紹

來源:互聯網
上載者:User
Python中到底有哪些 Python常用庫會讓程式員愛不釋手?以至於一次上癮,今天我們就來整理一番這樣的 Python常用庫,歡迎各位在評論區或者私信我添加或者修改相關庫內容。

首先介紹beautifulsoup這個庫,因為最開始接觸爬蟲的時候,就看到大家強力推薦這個庫。後來用了下,覺著確實不錯。但是程式員嘛,哪能在一個庫裡悶死,哈哈。

幾個庫的安裝過程就不再累述,參考anaconda。-_-.

後面幾個執行個體,均用這個來測試。

html = """<html><head><title>The Dormouse's story</title></head><body><p class="myclass" name="dromouse"><b>The Dormouse's story</b></p><p class="story">Once upon a time there were three little sisters; and their names were<a href="http://example.com/elsie" class="myclass" id="box"><!-- Elsie --></a>,<a href="http://example.com/lacie" class="myclass" id="box1">Lacie</a> and<a href="http://example.com/tillie" class="myclass" id="box2">Tillie</a>;and they lived at the bottom of a well.</p><p class="story">...</p>"""

BeautifulSoup

Beautiful Soup支援Python標準庫中的HTML解析器,還支援一些第三方的解析器。例如lxml HTML,lxml XML,html5lib。不過要安裝這些庫,否則它會使用python的內部標準庫。

  beautifulsoup的對象建立有兩種方式。

1.  soup=BeautifulSoup(html) #用變數內容來建立

2.  soup=BeautifulSoup('mysite.html') #用本地檔案來建立

  BeautifulSoup是將HTML轉化為一個複雜的樹形結構,每個節點都是python對象,有前端基礎的同學會知道,類似DOM對象。BeautifulSoup中的對象大致有四種,Tag、NavigableString、BeautifulSoup、Comment。由於我們平時操作大多數是針對一個個標籤提取資訊,所以我簡略的敘述下常用到的Tag對象。

Tag

tag就是HTML的一個個標籤。

例如HTML中的 head,title,a,p等等。

在實際操作中,我們會將所需要的標籤通過選取器尋找出來,然後通過操作Tag對象來擷取所需資訊。在BeautifulSoup中,常用的findAll()和find()來搜尋文檔樹來擷取自己所需的標籤。同時,BeautifulSoup也支援CSS文法來搜尋,select()方法,返回的類型是list。

ps:

1.findAll()等同於find_all()

2.對前端比較瞭解的,用select()方法比較順手。

find()

find()相當於findAll()中limit=1的時候,不過find()返回的是結果,findAll()返回的是一個列表。

CSS選取器

  beautifulsoup支援CSS文法的選取器來尋找所需要的標籤。

select(CSS選取器)例:soup.select('.myclass #box')#後代選取器soup.select('head>title')#子選取器soup.select('div+p')#相鄰兄弟選取器soup.select('div~p’)#後續兄弟選取器

同時還可以加入屬性尋找。

soup.select('.myclass a[id="box"]')

select()方法返回的是列表形式。

以上差不多就是BeautifulSoup常用的功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.