真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3中怎么使用BeautifulSoup-創(chuàng)新互聯(lián)

小編給大家分享一下python3中怎么使用BeautifulSoup,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、天峨網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

這一次我們來了解一下美味的湯--BeautifulSoup,這將是我們以后經(jīng)常使用的一個庫,并且非常的好用。

BeautifuleSoup庫的名字取自劉易斯·卡羅爾在《愛麗絲夢游仙境》里的同名詩歌。在故事中,這首歌是素甲魚唱的。就像它在仙境中的說法一樣,BeautifulSoup嘗試化平淡為神奇。它通過定位HTML標(biāo)簽來格式化和組織復(fù)雜的網(wǎng)絡(luò)信息,用簡單易用的Python對象為我們展現(xiàn)XML結(jié)構(gòu)信息。

由于BeautifulSoup庫不是Python標(biāo)準(zhǔn)庫,因此我們需要單獨安裝這個庫,才能使用它。對于這個庫的安裝,我們這里秉著簡單的原則,就直接利用pycharm這個IDLE進行庫的自動下載和導(dǎo)入。

首先我們進入pycharm的主界面,單擊file-〉settings-〉Project:untitled-〉Project Interpreter,如下圖:

python3中怎么使用BeautifulSoup

python3中怎么使用BeautifulSoup

在上圖中我們會看到一個綠色的加號,這時我們單擊這個加號,會跳出如下的界面(pycharm在這個地方有時候很慢,會一直在這個界面刷新):

python3中怎么使用BeautifulSoup

這時我們在搜索框中輸入“bs4”,然后選擇列表中的bs4,然后進行安裝,如下圖:

python3中怎么使用BeautifulSoup

這樣我們就完成了BeautifulSoup這個庫的安裝,下面我們就可以來使用它了。

關(guān)于這個庫的官方文檔解釋的是很詳細(xì)的,一定要看一看:點擊打開鏈接

下面我就簡單說一下這個庫的一些方面。

首先呢,我們還是從一個例子開始我們的學(xué)習(xí):

#coding:utf - 8
from urllib.request import urlopen
from bs4 import BeautifulSoup
 
html = urlopen("http://tieba.baidu.com/")
bsObj=BeautifulSoup(html,"lxml")  #將html對象轉(zhuǎn)化為BeautifulSoup對象
print(bsObj.title)  #輸出這個網(wǎng)頁中的標(biāo)題 
執(zhí)

執(zhí)行上面的程序,我們會得到的結(jié)果為:百度貼吧——全球大的中文社區(qū)
首先我們來分析下bsObj=BeautifulSoup(html,"lxml")這句話對我們的html做了什么,在這句代碼中,我們將html對象傳入到BeautifulSoup中將它轉(zhuǎn)化成BeautifulSoup對象,關(guān)于第二個參數(shù)lxml,可以到官方文檔中看,解釋得很詳細(xì),這里大家只要知道帶上它就可以了,不需要管它。這樣,我們就成功將html對象轉(zhuǎn)化為了BeautifulSoup對象。
下面我們來了解下BeautifulSoup對象的結(jié)構(gòu),當(dāng)我們將html轉(zhuǎn)化后得到的結(jié)構(gòu)為:
html->.........
---head->百度貼吧--全球大的中文社區(qū)<title></head></p><p>          ---title-><title>百度貼吧--全球大的中文社區(qū)

     ----body->.........

關(guān)于這個頁面的結(jié)構(gòu)我中間省略了一些無關(guān)緊要的元素,只是為了展示下這種層次化的結(jié)構(gòu)。

從上面我們可以看出,BeautifulSoup將html對象進行了層次化處理了,對它的原網(wǎng)頁的標(biāo)簽進行了逐層的處理和細(xì)化,以便于我們之后使用。也就是我們只要知道,任何HTML(或XML)文件的任意節(jié)點信息都可以被提取出來,只要目標(biāo)信息的旁邊或者附近有標(biāo)記就行了,這個標(biāo)記就是我們網(wǎng)頁中使用到的各種div、li之類的標(biāo)簽元素,也可以是class、id之類的屬性,通過這些我們都可以對需要的信息進行提取。

對于剛剛的bsObj.title這個提取標(biāo)題的操作,由于一個網(wǎng)頁中只有一個title,所以我們可以直接獲取到它,因為它是唯一的嘛,大家可以這樣理解,在一個學(xué)校中,你的學(xué)號是唯一的,我可以通過直接查找學(xué)號進而唯一的搜索你,而不會產(chǎn)生歧義。

對于bsObj.title我們有多重替代方案:

  • bsObj.html.head.title

  • bsObj.html.title

  • bsObj.head.title

關(guān)于上面的代碼大家是對網(wǎng)頁中元素的細(xì)化搜索,可以這樣理解啊,假定你已經(jīng)知道一個人是計科院的了,那你搜索他的時候常規(guī)思路便是直接在計科院找他,而bsObj.head中的head就相當(dāng)于計科院,它是網(wǎng)頁中的頭部,title就放在這里面,所以我們使用bsObj.head.title也可以實現(xiàn)這個效果,其它的代碼可以類似分析。

BeautifulSoup是一個對象,所以我們可以通過運算符“.”對它的屬性進行提取。

如bsObj.title獲取html的標(biāo)題對象,bsObj.title.name獲取標(biāo)題的名字。。。

以上是“python3中怎么使用BeautifulSoup”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享題目:python3中怎么使用BeautifulSoup-創(chuàng)新互聯(lián)
本文路徑:http://weahome.cn/article/dddsos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部