BeautifulSoup的基本使用語(yǔ)法規(guī)則12-02

soup = BeautifulSoup(html, 'lxml')  # 初始化BeautifulSoup

初始化BeautifuSoup的參數(shù)享幽。

第一個(gè)參數(shù) html是網(wǎng)頁(yè)的源代碼,可以是個(gè)Unicode字符串拾弃,也可以是一個(gè)二進(jìn)制字符串
(如果第一個(gè)參數(shù)是字符串并且網(wǎng)頁(yè)自帶了charset信息值桩,BS會(huì)默認(rèn)采用網(wǎng)頁(yè)的默認(rèn)編碼解碼,
否則默認(rèn)以你當(dāng)前文件執(zhí)行的編碼(通常是utf-8)進(jìn)行解析豪椿。如果是二進(jìn)制字符串奔坟,
如果自己手動(dòng)指定了編碼,就以指定編碼解析搭盾,否則默認(rèn)utf-8解析)咳秉。
第二個(gè)參數(shù) lxml是BeautifulSoup采用的網(wǎng)頁(yè)解析器,我們安裝lxml用處就在這體現(xiàn)出來(lái)了鸯隅。
如果不指定滴某,那么默認(rèn)會(huì)采用Python內(nèi)置的html.parser進(jìn)行解析。

BeautifulSoup的基本使用語(yǔ)法規(guī)則

.find() 使用示例
soup.find('a')滋迈。那么會(huì)返回在soup包含的源代碼中的第一個(gè)<a>...</a>標(biāo)簽內(nèi)容對(duì)象霎奢。
soup.find('a', id='next')。那么會(huì)返回在soup包含的源代碼中饼灿,遇到的第一個(gè)有屬性為id幕侠,值為next的<a>對(duì)象,比如<a id="next">...</a>碍彭。(不只可以用id晤硕,大部分其他的屬性都可以直接使用,比如src庇忌、name舞箍。 **值得注意的是,class這個(gè)屬性因?yàn)槭荘ython關(guān)鍵字皆疹,不能直接使用疏橄,所以在BS里面,使用class_='...'進(jìn)行代替 **)
find返回的結(jié)果略就,依然可以繼續(xù)使用find()或者find_all()方法捎迫。如果找不到指定的內(nèi)容,find會(huì)返回None表牢。

.find_all()使用示例
soup.find_all('a')窄绒。那么會(huì)返回在soup包含的源代碼中,遇到的所有<a>...</a>標(biāo)簽內(nèi)容的可迭代對(duì)象(我們可以把它看成一個(gè) list 或者數(shù)組)崔兴。
soup.find_all('a', class_='next')彰导。那么會(huì)返回在soup包含的源代碼中蛔翅,遇到的所有屬性為class,值為next的<a>的 可迭代對(duì)象位谋,比如<a class="next">...</a>山析。(語(yǔ)法和find也一樣,class也不能直接寫)
find_all返回的“l(fā)ist”中的單個(gè)對(duì)象 依然可以繼續(xù)使用find()或者find_all()方法倔幼。如果找不到指定的內(nèi)容,find_all會(huì)返回一個(gè)空的“l(fā)ist”爽待。

獲取元素的某個(gè)屬性
soup['src]损同,這樣我們就能取出soup對(duì)象的src屬性了。如果該屬性不存在鸟款,那么程序會(huì)報(bào)錯(cuò)膏燃。

獲取元素中的所有文本
** soup.text**,假設(shè)soup對(duì)象為<div>你好<a>復(fù)聯(lián)</a></div>何什,那么這個(gè)操作返回字符串是你好復(fù)聯(lián)组哩。

爬取https://movie.douban.com/cinema/later/chengdu/電影信息代碼

import requests
from bs4 import BeautifulSoup  # 從bs4引入BeautifulSoup
 
#請(qǐng)求網(wǎng)頁(yè)
url = "https://movie.douban.com/cinema/later/chengdu/"
response = requests.get(url)
 
# 解析網(wǎng)頁(yè)
# 初始化BeautifulSoup方法一:利用網(wǎng)頁(yè)字符串自帶的編碼信息解析網(wǎng)頁(yè)
soup = BeautifulSoup(response.content.decode('utf-8'), 'lxml')
# 初始化BeautifulSoup方法二:手動(dòng)指定解析編碼解析網(wǎng)頁(yè)
# soup = BeautifulSoup(response.content, 'lxml', from_encoding='utf-8')
 
# print(soup)  # 輸出BeautifulSoup轉(zhuǎn)換后的內(nèi)容
all_movies = soup.find('div', id="showing-soon")  # 先找到最大的div
# print(all_movies)  # 輸出最大的div的內(nèi)容
for each_movie in all_movies.find_all('div', class_="item"):  # 從最大的div里面找到影片的div
    # print(each_movie)  # 輸出每個(gè)影片div的內(nèi)容
    all_a_tag = each_movie.find_all('a')
    all_li_tag = each_movie.find_all('li')
    movie_name = all_a_tag[1].text
    moive_href = all_a_tag[1]['href']
    movie_date = all_li_tag[0].text
    movie_type = all_li_tag[1].text
    movie_area = all_li_tag[2].text
    movie_lovers = all_li_tag[3].text
    print('名字:{},鏈接:{}处渣,日期:{}伶贰,類型:{},地區(qū):{}罐栈, 關(guān)注者:{}'.format(
        movie_name, moive_href, movie_date, movie_type, movie_area, movie_lovers))

https://1024dada.com/python/q/152550

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末黍衙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子荠诬,更是在濱河造成了極大的恐慌琅翻,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柑贞,死亡現(xiàn)場(chǎng)離奇詭異方椎,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)钧嘶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門棠众,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人有决,你說(shuō)我怎么就攤上這事摄欲。” “怎么了疮薇?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵胸墙,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我按咒,道長(zhǎng)迟隅,這世上最難降的妖魔是什么但骨? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮智袭,結(jié)果婚禮上奔缠,老公的妹妹穿的比我還像新娘。我一直安慰自己吼野,他們只是感情好校哎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瞳步,像睡著了一般闷哆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上单起,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天抱怔,我揣著相機(jī)與錄音,去河邊找鬼嘀倒。 笑死屈留,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的测蘑。 我是一名探鬼主播灌危,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碳胳!你這毒婦竟也來(lái)了乍狐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤固逗,失蹤者是張志新(化名)和其女友劉穎浅蚪,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烫罩,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惜傲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贝攒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盗誊。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖隘弊,靈堂內(nèi)的尸體忽然破棺而出哈踱,到底是詐尸還是另有隱情,我是刑警寧澤梨熙,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布开镣,位于F島的核電站,受9級(jí)特大地震影響咽扇,放射性物質(zhì)發(fā)生泄漏邪财。R本人自食惡果不足惜陕壹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望树埠。 院中可真熱鬧糠馆,春花似錦、人聲如沸怎憋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绊袋。三九已至毕匀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愤炸,已是汗流浹背期揪。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工掉奄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留规个,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓姓建,卻偏偏與公主長(zhǎng)得像诞仓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子速兔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Beautiful Soup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫(kù).它能夠通過(guò)你喜歡的轉(zhuǎn)換器實(shí)...
    LitOrange閱讀 5,279評(píng)論 0 4
  • 【萌姐60s復(fù)盤】180618-day18 現(xiàn)階段目標(biāo):咬字清晰墅拭,練習(xí)語(yǔ)速。 不足:停頓點(diǎn)不明確涣狗,有時(shí)候?yàn)榱丝斓瘢?..
    張雅梅May閱讀 83評(píng)論 0 0
  • 浪花飛濺,洶涌澎湃的海水一波波涌向漁船镀钓。在搖晃不已的床尾穗熬,我駕著船,目光緊緊地盯著距離漁船不到三米距離的礁石丁溅,我轉(zhuǎn)...
    蠻力閱讀 394評(píng)論 3 3
  • 新自行車唤蔗!
    寒江雪_zz閱讀 179評(píng)論 0 0
  • 高性能數(shù)據(jù)庫(kù)集群:分庫(kù)分表 讀寫分離分散了數(shù)據(jù)庫(kù)讀寫操作的壓力,但沒(méi)有分散存儲(chǔ)壓力窟赏,當(dāng)數(shù)據(jù)量達(dá)到千萬(wàn)甚至上億條的時(shí)...
    Gopherzhang閱讀 1,200評(píng)論 0 9