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物件。
Tagtag就是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"]')
以上是讓Python更方便-簡介Python常用的標準函式庫與介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!