初識(shí)爬蟲(chóng)(0)

untitled.png

爬蟲(chóng)的這些文章就算是我的復(fù)習(xí)吧!今天開(kāi)始0母埂织盼!

什么是爬蟲(chóng)杨何?

老師說(shuō),本質(zhì)上就是利用程序在網(wǎng)上獲得對(duì)我們有價(jià)值的數(shù)據(jù)沥邻。

我個(gè)人理解:
1危虱、“蟲(chóng)”
爬蟲(chóng)就是這些能夠讓我們獲得數(shù)據(jù)的一類(lèi)小程序,就是個(gè)工具唐全。希望能夠掌握好埃跷,做一個(gè)遵守互聯(lián)網(wǎng)倫理道德的蟲(chóng)蟲(chóng)。
2邮利、“網(wǎng)”
對(duì)互聯(lián)網(wǎng)弥雹,html要有認(rèn)識(shí),才能掌握好工具延届。

瀏覽器的工作原理(5步):
在瀏覽器輸入網(wǎng)址(也可以叫URL)---- 瀏覽器向服務(wù)器傳達(dá)了我們想訪問(wèn)某個(gè)網(wǎng)頁(yè)的需求(請(qǐng)求)---- 服務(wù)器把想要的網(wǎng)站數(shù)據(jù)發(fā)送給瀏覽器(響應(yīng))---- 瀏覽器會(huì)把這些用計(jì)算機(jī)語(yǔ)言寫(xiě)的數(shù)據(jù)翻譯成你能看得懂的樣子(解析數(shù)據(jù))---- 我們?cè)谀玫降臄?shù)據(jù)中挑選出對(duì)我們有用的數(shù)據(jù)(提取數(shù)據(jù))---- 我們(存儲(chǔ)數(shù)據(jù))缅糟。

爬蟲(chóng)可以干什么?

上述人機(jī)互動(dòng)的過(guò)程中祷愉,爬蟲(chóng)可以幫助我們完成絕大部分工作

1窗宦、爬蟲(chóng)可以模擬瀏覽器去向服務(wù)器發(fā)出請(qǐng)求
2二鳄、服務(wù)器響應(yīng)后赴涵,爬蟲(chóng)程序還可以代替瀏覽器幫我們解析數(shù)據(jù);
3订讼、爬蟲(chóng)可以根據(jù)我們?cè)O(shè)定的規(guī)則自動(dòng)批量提取相關(guān)數(shù)據(jù)髓窜;
4、爬蟲(chóng)可以批量地把數(shù)據(jù)存儲(chǔ)到本地欺殿。

所以寄纵,人除了起心動(dòng)念,有邏輯地設(shè)計(jì)好規(guī)則后脖苏,剩下的爬蟲(chóng)都能替我們干了程拭。想想都舒服!

知識(shí)點(diǎn)1:requests庫(kù)

用途:
獲取數(shù)據(jù)
requests庫(kù)可以幫我們下載網(wǎng)頁(yè)源代碼棍潘、文本恃鞋、圖片,甚至是音頻(“下載”本質(zhì)上是向服務(wù)器發(fā)送請(qǐng)求并得到響應(yīng))亦歉。

requests.get()方法
用法舉例:
import requests #引入requests庫(kù)
res = requests.get('URL')
#requests.get是在調(diào)用requests庫(kù)中的get()方法恤浪,它向服務(wù)器發(fā)送了一個(gè)請(qǐng)求,括號(hào)里的參數(shù)是所需數(shù)據(jù)所在的網(wǎng)址肴楷,然后服務(wù)器對(duì)請(qǐng)求作出了響應(yīng)水由。響應(yīng)返回的結(jié)果賦值在變量res上

知識(shí)點(diǎn)2:Response對(duì)象的常用屬性

因?yàn)镻ython是一門(mén)面向?qū)ο缶幊痰恼Z(yǔ)言。在爬蟲(chóng)中赛蔫,理解數(shù)據(jù)是什么對(duì)象非常砂客、特別直秆、以及極其重要。只有知道了數(shù)據(jù)是什么對(duì)象鞭盟,才知道對(duì)象有什么屬性和方法可供我們操作圾结。

判斷數(shù)據(jù)的對(duì)象類(lèi)型方法是:
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
print(type(res)) #打印變量res的數(shù)據(jù)類(lèi)型
其結(jié)果是:<class 'requests.models.Response'>。這代表著:res是一個(gè)對(duì)象齿诉,屬于requests.models.Response類(lèi)筝野。res是一個(gè)Response對(duì)象,我們也就可以去了解它的相應(yīng)屬性和方法了粤剧。

Response對(duì)象的常用屬性

1歇竟、response.status_code
作用:
檢查請(qǐng)求是否成功
舉例:
import requests
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png')
print(res.status_code) #打印變量res的響應(yīng)狀態(tài)碼,以檢查請(qǐng)求是否成功

1.png

2抵恋、response.content
作用:
能把Response對(duì)象的內(nèi)容以二進(jìn)制數(shù)據(jù)的形式返回焕议,適用于圖片、音頻弧关、視頻的下載
舉例:下載一張圖片
import requests # 引入requests庫(kù)
res = requests.get('https://res.pandateacher.com/2018-12-18-10-43-07.png') # 發(fā)出請(qǐng)求盅安,并把返回的結(jié)果放在變量res中
pic = res.content # 把Reponse對(duì)象的內(nèi)容以二進(jìn)制數(shù)據(jù)的形式返回
photo = open('ppt.jpg','wb') # 新建一個(gè)文件ppt.jpg,這里的文件沒(méi)加路徑世囊,它會(huì)被保存在程序運(yùn)行的當(dāng)前目錄下别瞭。圖片內(nèi)容需要以二進(jìn)制wb讀寫(xiě)。在python基礎(chǔ)中open()函數(shù)里接觸過(guò)株憾。
photo.write(pic) # 獲取pic的二進(jìn)制內(nèi)容
photo.close() # 關(guān)閉文件

3蝙寨、response.text
作用:
可以把Response對(duì)象的內(nèi)容以字符串的形式返回,適用于文字嗤瞎、網(wǎng)頁(yè)源代碼的下載墙歪。
舉例:下載小說(shuō)
import requests #引用requests庫(kù)
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md') #下載《三國(guó)演義》第一回,我們得到一個(gè)對(duì)象贝奇,它被命名為res
novel=res.text #把Response對(duì)象的內(nèi)容以字符串的形式返回
print(novel[:800]) #打印小說(shuō)(考慮到整章太長(zhǎng)虹菲,只輸出800字)

4、response.encoding
作用:
能幫我們定義Response對(duì)象的編碼
舉例:
import requests #引用requests庫(kù)
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md') #下載《三國(guó)演義》第一回弃秆,我們得到一個(gè)對(duì)象届惋,它被命名為res
res.encoding='gbk' #定義Response對(duì)象的編碼為gbk
novel=res.text #把Response對(duì)象的內(nèi)容以字符串的形式返回
print(novel[:800]) #打印小說(shuō)的前800個(gè)字
其打印出來(lái)的結(jié)果是亂碼。因?yàn)樵}目當(dāng)中設(shè)置的編碼規(guī)則默認(rèn)為utf-8菠赚,如果硬要以gbk形式定義它,就會(huì)出現(xiàn)最終的亂碼結(jié)果郑藏。
使用條件:
只有當(dāng)結(jié)果顯示為亂碼時(shí)衡查,才返回來(lái)試驗(yàn)以其他編碼方式定義并確認(rèn)結(jié)果。

Robots協(xié)議

是互聯(lián)網(wǎng)爬蟲(chóng)的一項(xiàng)公認(rèn)的道德規(guī)范必盖,它的全稱(chēng)是“網(wǎng)絡(luò)爬蟲(chóng)排除標(biāo)準(zhǔn)”(Robots exclusion protocol)拌牲,這個(gè)協(xié)議用來(lái)告訴爬蟲(chóng)俱饿,哪些頁(yè)面是可以抓取的,哪些不可以塌忽。

協(xié)議使用方法
查看網(wǎng)站的robots協(xié)議拍埠,在網(wǎng)站的域名后加上/robots.txt就可以了。
協(xié)議里最常出現(xiàn)的英文是Allow和Disallow土居,Allow代表可以被訪問(wèn)枣购,Disallow代表禁止被訪問(wèn)。

好吧擦耀!出發(fā)棉圈,沖浪去(膽子夠大,給自己點(diǎn)贊)眷蜓!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末分瘾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吁系,更是在濱河造成了極大的恐慌德召,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汽纤,死亡現(xiàn)場(chǎng)離奇詭異氏捞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)冒版,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)液茎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)男翰,“玉大人揭朝,你說(shuō)我怎么就攤上這事÷氛伲” “怎么了续室?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵栋烤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我挺狰,道長(zhǎng)明郭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任丰泊,我火速辦了婚禮薯定,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瞳购。我一直安慰自己话侄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著年堆,像睡著了一般吞杭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上变丧,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天芽狗,我揣著相機(jī)與錄音,去河邊找鬼痒蓬。 笑死童擎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谊却。 我是一名探鬼主播柔昼,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼炎辨!你這毒婦竟也來(lái)了捕透?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤碴萧,失蹤者是張志新(化名)和其女友劉穎乙嘀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體破喻,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虎谢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了曹质。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婴噩。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖羽德,靈堂內(nèi)的尸體忽然破棺而出几莽,到底是詐尸還是另有隱情,我是刑警寧澤宅静,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布章蚣,位于F島的核電站,受9級(jí)特大地震影響姨夹,放射性物質(zhì)發(fā)生泄漏纤垂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一磷账、第九天 我趴在偏房一處隱蔽的房頂上張望峭沦。 院中可真熱鬧,春花似錦够颠、人聲如沸熙侍。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蛉抓。三九已至,卻和暖如春剃诅,著一層夾襖步出監(jiān)牢的瞬間巷送,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工矛辕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笑跛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓聊品,卻偏偏與公主長(zhǎng)得像飞蹂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子翻屈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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