爬蟲(chóng)筆記(1)基礎(chǔ)

基本庫(kù)介紹

requests

安裝

pip install requests

基本用法

response = reqeusts.get(url)
這里個(gè)get方法代表獲取內(nèi)容的方式是GET方法粘招。

獲取返回頭信息

headers = response.headers
headers是一個(gè)dict

獲取狀態(tài)碼

response.status_code

字符集

當(dāng)前內(nèi)容字符集response.encoding丈甸,這個(gè)字符集代表requests使用哪種字符集來(lái)解碼網(wǎng)絡(luò)內(nèi)容,而且這個(gè)很有可能出錯(cuò)跟磨。這個(gè)字符集是從headers中獲取的咒彤,如果headers中沒(méi)有編碼信息,那么很有可能出錯(cuò)(www.baidu.com這個(gè)頁(yè)面就會(huì)出現(xiàn)這個(gè)問(wèn)題)。因?yàn)樵谶@種情況下劲藐,requests直接就返回ISO-8859-1。正確的做法是從html頁(yè)面中進(jìn)一步提取正確的字符信息樟凄。一個(gè)有意思的事情是聘芜,response.apparent_encoding能正確獲取百度首頁(yè)中正確的字符集信息,但是requests卻不使用它來(lái)解決容錯(cuò)問(wèn)題缝龄。

獲取文本內(nèi)容

response.text代表根據(jù)response.encoding解碼之后的文本汰现,而response.content則代表字節(jié)內(nèi)容。通過(guò)設(shè)置encoding可以修改解碼方式二拐。
更多requests教程參考這個(gè)鏈接requests中文教程

BeautifuSoup

安裝

pip install beautifulsoup4

使用方法

from bs4 import BeatutifulSoup soup = BeautifulSoup(html,'html5lib')
先要初始化一個(gè)soup對(duì)象服鹅,這html5lib就是使用的解析庫(kù)凳兵。
例子:

<html> <title>東哥</title> <body> <h1>hello</h1> <h2>Tag H2</h2> <h2 class = 'name'>Tag H2 name</h2> </body> </html>

輸出例子中的標(biāo)題:soup.title
查找h1標(biāo)簽:h1 = soup.find('h1') 輸出h1中的內(nèi)容 h1.text
find只能找第一個(gè)碰到的h1標(biāo)簽百新。
找出所有的h2標(biāo)簽,h2list = soup.find_all(h2)庐扫,這里返回的是一個(gè)列表饭望。當(dāng)然我們還可以控制查找范圍,如只查找class='name'的h2形庭,h2list = soup.find_all(h2铅辞,attrs={'class':'name'})
在實(shí)際的使用中一定要靈活運(yùn)用各種條件盡量做到精確查找萨醒。比如在一個(gè)例子中斟珊,如果一個(gè)頁(yè)面是一個(gè)文章列表,每個(gè)列表項(xiàng)目是一個(gè)div開(kāi)頭富纸。如果直接查找div可能會(huì)找到大量不相干的信息囤踩,如果每個(gè)文章項(xiàng)目的div中都有個(gè)標(biāo)題標(biāo)簽h2,那么就可以先通過(guò)查找h2然后向上查找div中的其它內(nèi)容晓褪。
h2list = soup.find_all('h2',attrs={'class':'title'}) for h2 in h2list: div = h2.parent span = div.find('span')#查找其它信息 ....#如日期 作者 評(píng)論數(shù) 閱讀數(shù)

獲取屬性以及文本

<a href='www.xxx.com'>點(diǎn)擊</a>
如果此時(shí)tag代表上面的超鏈接節(jié)點(diǎn)堵漱,使用tag['href']就可以獲取鏈接地址,使用tag.text可以獲取其中文本涣仿。如果標(biāo)簽中還有其它html標(biāo)簽勤庐,這些標(biāo)簽會(huì)清除掉。使用tag.contents則可以獲取標(biāo)簽中所有信息包括文本和其它標(biāo)簽好港,返回的是個(gè)列表愉镰。
更多beautifulsoup教程參考這個(gè)鏈接BeautifulSoup 4.2.0中文文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钧汹,隨后出現(xiàn)的幾起案子丈探,更是在濱河造成了極大的恐慌,老刑警劉巖崭孤,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件类嗤,死亡現(xiàn)場(chǎng)離奇詭異糊肠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)遗锣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)货裹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人精偿,你說(shuō)我怎么就攤上這事弧圆。” “怎么了笔咽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵搔预,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我叶组,道長(zhǎng)拯田,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任甩十,我火速辦了婚禮船庇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侣监。我一直安慰自己鸭轮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布橄霉。 她就那樣靜靜地躺著窃爷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪姓蜂。 梳的紋絲不亂的頭發(fā)上按厘,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音覆糟,去河邊找鬼刻剥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛滩字,可吹牛的內(nèi)容都是我干的造虏。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼麦箍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼漓藕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起挟裂,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤享钞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后诀蓉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體栗竖,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暑脆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狐肢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片添吗。...
    茶點(diǎn)故事閱讀 40,861評(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,196評(píng)論 3 336
  • 文/蒙蒙 一丧没、第九天 我趴在偏房一處隱蔽的房頂上張望鹰椒。 院中可真熱鬧锡移,春花似錦呕童、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至施符,卻和暖如春往声,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背戳吝。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工浩销, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人听哭。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓慢洋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親陆盘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子普筹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

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