利用Beautifusoup爬取網(wǎng)頁(yè)指定內(nèi)容

之前一直就對(duì)網(wǎng)絡(luò)爬蟲(chóng)很感興趣鹦肿,剛好實(shí)驗(yàn)室學(xué)長(zhǎng)有個(gè)小任務(wù)讹挎,就攬下來(lái)嘗試著去做下如筛,花了一天的時(shí)間完成了牺丙!

Beautifulsoup是什么

Beautiful Soup 是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫(kù).它能夠通過(guò)你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航,查找,修改文檔的方式.Beautiful Soup會(huì)幫你節(jié)省數(shù)小時(shí)甚至數(shù)天的工作時(shí)間.

大家可以從上面那個(gè)Beautifulsoup中文官方文檔中去學(xué)習(xí)下Beautifulsoup的一些基本的用法则涯,非常好用的一個(gè)從html文件中提取數(shù)據(jù)的python庫(kù)。

注意:Mac在安裝beautifulsoup的時(shí)候使用pip安裝時(shí)記得使用sudo獲取管理員權(quán)限冲簿,不然可能會(huì)失敗粟判,還有setuptools版本的問(wèn)題,大家可以自行百度峦剔。??

這次任務(wù)

這個(gè)網(wǎng)址這樣類(lèi)似的表格上提取指定欄目的數(shù)據(jù)档礁。我們可以通過(guò)開(kāi)發(fā)者工具來(lái)看下,我們需要的內(nèi)容在哪個(gè)標(biāo)簽里羊异。

開(kāi)發(fā)者工具

紅框內(nèi)的數(shù)據(jù)是我們要提取的事秀,而右邊是網(wǎng)頁(yè)的html層級(jí)∫安埃可以看出我們想要的數(shù)據(jù)在多層表格內(nèi)易迹,td,tr中間平道。

解決問(wèn)題

爬蟲(chóng)就是將整個(gè)網(wǎng)頁(yè)通過(guò)url將網(wǎng)頁(yè)爬取下來(lái)睹欲,然后根據(jù)語(yǔ)法規(guī)則去匹配html代碼中存在的數(shù)據(jù),通過(guò)python的beautifulsoup可以很快的將數(shù)據(jù)給‘爬’出來(lái)一屋。

html = requests.get(html_url).text
soup = BeautifulSoup(html,'html.parser') ```
通過(guò)這兩句我們就將要爬取的html頁(yè)面給保存下來(lái)了窘疮,并初始化了Beautifulsoup,方便之后的提取冀墨。
通過(guò)開(kāi)發(fā)者工具我們可以看出闸衫,整個(gè)表格都是由tr,td等標(biāo)簽組成诽嘉,我們要先獲取表格的表頭蔚出,然后再去獲得對(duì)應(yīng)表頭內(nèi)的數(shù)據(jù)。在使用beautiful的時(shí)候虫腋,我們首先要理解html文檔的dom樹(shù)的概念骄酗。這樣在使用parent的時(shí)候就會(huì)比較容易。我們主要使用了get_text()方法和獲得父親悦冀,兄弟的節(jié)點(diǎn)趋翻,然后在其中find_all(' ')找對(duì)應(yīng)的標(biāo)簽即可。
```python
for nobr in table_title:
    if re_table_title.match(nobr.get_text()):       
    table_content = nobr.parent.next_sibling.next_sibling                      
    KO_ID = table_content.find('a').get_text()        
    Anno = table_content.find_all('td')[1].get_text()       
    break ```
可以看出盒蟆,我們找到了表頭```table.title```,它返回的是一個(gè)list踏烙,便利其中的找到是我們需要的表頭,這里使用了正則表達(dá)式```match```也是我們非常常用的在爬蟲(chóng)使用中的一個(gè)技術(shù)历等。然后找到其兄弟節(jié)點(diǎn)也就是同級(jí)的對(duì)應(yīng)的表的內(nèi)容```table_content```其中的數(shù)據(jù)宙帝。最后把數(shù)據(jù)都寫(xiě)入文件中保存起來(lái),這樣就實(shí)現(xiàn)了網(wǎng)絡(luò)爬蟲(chóng)爬取我們想要的數(shù)據(jù)募闲。


![完整代碼](http://upload-images.jianshu.io/upload_images/1545198-c48c59fcea3b25fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
>哈哈步脓,做完還是非常有成就感的啊浩螺!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末靴患,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子要出,更是在濱河造成了極大的恐慌鸳君,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件患蹂,死亡現(xiàn)場(chǎng)離奇詭異或颊,居然都是意外死亡砸紊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)囱挑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)醉顽,“玉大人,你說(shuō)我怎么就攤上這事平挑∮翁恚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵通熄,是天一觀的道長(zhǎng)唆涝。 經(jīng)常有香客問(wèn)我,道長(zhǎng)唇辨,這世上最難降的妖魔是什么廊酣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮赏枚,結(jié)果婚禮上啰扛,老公的妹妹穿的比我還像新娘。我一直安慰自己嗡贺,他們只是感情好隐解,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著诫睬,像睡著了一般煞茫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摄凡,一...
    開(kāi)封第一講書(shū)人閱讀 52,713評(píng)論 1 312
  • 那天续徽,我揣著相機(jī)與錄音,去河邊找鬼亲澡。 笑死钦扭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的床绪。 我是一名探鬼主播客情,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼癞己!你這毒婦竟也來(lái)了膀斋?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤痹雅,失蹤者是張志新(化名)和其女友劉穎仰担,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體绩社,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摔蓝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年赂苗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮尉。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拌滋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绘盟,到底是詐尸還是另有隱情,我是刑警寧澤悯仙,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布龄毡,位于F島的核電站,受9級(jí)特大地震影響锡垄,放射性物質(zhì)發(fā)生泄漏沦零。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一货岭、第九天 我趴在偏房一處隱蔽的房頂上張望路操。 院中可真熱鬧,春花似錦千贯、人聲如沸屯仗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)魁袜。三九已至,卻和暖如春敦第,著一層夾襖步出監(jiān)牢的瞬間峰弹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工芜果, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞠呈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓右钾,卻偏偏與公主長(zhǎng)得像蚁吝,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舀射,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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