八年開(kāi)發(fā)大佬整理的爬蟲(chóng)筆記:三天即可快速學(xué)會(huì)爬蟲(chóng)砸民!

八年開(kāi)發(fā)大佬整理的爬蟲(chóng)筆記:三天即可快速學(xué)會(huì)爬蟲(chóng)抵怎!

很多小伙伴在剛接觸編程的時(shí)候不知道什么是爬蟲(chóng),其實(shí)爬蟲(chóng)就是將你在網(wǎng)絡(luò)上所見(jiàn)到的資源批量下載化為己有岭参,操作起來(lái)也是比較簡(jiǎn)單的反惕。小伙伴需要學(xué)習(xí)資料的話加qun 883-441-06小編會(huì)一一發(fā)給大家的。

好了演侯,開(kāi)始今天的主題吧~

一姿染、什么是爬蟲(chóng)

爬蟲(chóng):請(qǐng)求網(wǎng)站并提取數(shù)據(jù)的自動(dòng)化程序

百科:網(wǎng)絡(luò)爬蟲(chóng)(又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人秒际,在FOAF社區(qū)中間悬赏,更經(jīng)常的稱為網(wǎng)頁(yè)追逐者),是一種按照一定的規(guī)則程癌,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本舷嗡。另外一些不常使用的名字還有螞蟻轴猎、自動(dòng)索引嵌莉、模擬程序或者蠕蟲(chóng)。

二捻脖、爬蟲(chóng)基本流程

發(fā)起請(qǐng)求:通過(guò)HTTP庫(kù)向目標(biāo)站點(diǎn)發(fā)起請(qǐng)求锐峭,即發(fā)送一個(gè)Request,請(qǐng)求可以包含額外的headers等信息可婶,等待服務(wù)器響應(yīng)沿癞。

獲取響應(yīng)內(nèi)容:如果服務(wù)器能正常響應(yīng),會(huì)得到一個(gè)Response矛渴,Response的內(nèi)容便是所要獲取的頁(yè)面內(nèi)容椎扬,類型可能有HTML惫搏,Json字符串,二進(jìn)制數(shù)據(jù)(如圖片視頻)等類型蚕涤。

解析內(nèi)容:得到的內(nèi)容可能是HTML筐赔,可以用正則表達(dá)式、網(wǎng)頁(yè)解析庫(kù)進(jìn)行解析揖铜≤罘幔可能是Json,可以直接轉(zhuǎn)為Json對(duì)象解析天吓,可能是二進(jìn)制數(shù)據(jù)贿肩,可以做保存或者進(jìn)一步的處理。

保存數(shù)據(jù):保存形式多樣龄寞,可以存為文本汰规,也可以保存至數(shù)據(jù)庫(kù),或者保存特定格式的文件萄焦。

三控轿、Request和Response

Request:瀏覽器就發(fā)送消息給該網(wǎng)址所在的服務(wù)器,這個(gè)過(guò)程叫做HTTP Request拂封。

Response:服務(wù)器收到瀏覽器發(fā)送的消息后茬射,能夠根據(jù)瀏覽器發(fā)送消息的內(nèi)容,做相應(yīng)處理冒签,然后把消息回傳給瀏覽器在抛。這個(gè)過(guò)程叫做HTTP Response。瀏覽器收到服務(wù)器的Response信息后萧恕,會(huì)對(duì)信息進(jìn)行相應(yīng)處理刚梭,然后展示。

四票唆、Request詳解

請(qǐng)求方式:主要有GET朴读、POST兩種類型,另外還有HEAD走趋、PUT衅金、DELETE、OPTIONS等簿煌。

請(qǐng)求URL:URL全稱統(tǒng)一資源定位符氮唯,如一個(gè)網(wǎng)頁(yè)文檔、一張圖片姨伟、一個(gè)視頻等都可以用URL唯一來(lái)確定惩琉。

請(qǐng)求頭:包含請(qǐng)求時(shí)的頭部信息,如User-Agent夺荒、Host瞒渠、Cookies等信息良蒸。

請(qǐng)求體:請(qǐng)求時(shí)額外攜帶的數(shù)據(jù)如表單提交時(shí)的表單數(shù)據(jù)

五、Response詳解

響應(yīng)狀態(tài):有多種響應(yīng)狀態(tài)伍玖,如200代表成功诚啃、301跳轉(zhuǎn)、404找不到頁(yè)面私沮、502服務(wù)器錯(cuò)誤

響應(yīng)頭:如內(nèi)容類型始赎、內(nèi)容長(zhǎng)度、服務(wù)器信息仔燕、設(shè)置Cookie等等造垛。

響應(yīng)體:最主要的部分,包含了請(qǐng)求資源的內(nèi)容晰搀,如網(wǎng)頁(yè)HTML五辽、圖片二進(jìn)制數(shù)據(jù)等。

六外恕、能抓取哪些數(shù)據(jù)

網(wǎng)頁(yè)文本:如HTML文檔杆逗、Json格式文本等。

圖片:獲取到的是二進(jìn)制文件鳞疲,保存為圖片格式罪郊。

視頻:同為二進(jìn)制文件,保存為視頻格式即可尚洽。

And so on:只要是能請(qǐng)求到的悔橄,都能獲取。

七腺毫、解析方式

直接處理

Json解析

正則表達(dá)式

BeautifulSoup

PyQuery

XPath

八癣疟、抓取中出現(xiàn)的問(wèn)題

問(wèn):為什么我抓到的和瀏覽器看到的不一樣?

答:網(wǎng)頁(yè)通過(guò)瀏覽器的解析潮酒,加載CSS與JS等文件對(duì)網(wǎng)頁(yè)進(jìn)行解析渲染睛挚,達(dá)到我們看到絢麗的網(wǎng)頁(yè),而我們抓到的文件只是一些代碼急黎,css文件無(wú)法調(diào)用扎狱,使得樣式不能表現(xiàn)出來(lái),那么網(wǎng)頁(yè)就會(huì)出現(xiàn)錯(cuò)位等等問(wèn)題叁熔。

問(wèn):怎樣解決JavaScript渲染的問(wèn)題委乌?

答:分析Ajax請(qǐng)求床牧、Selenium/WebDriver荣回、Splash、PyV8戈咳、Ghost.py等庫(kù)心软。

九壕吹、保存數(shù)據(jù)

文本:純文本、Json删铃、Xml等耳贬。

關(guān)系型數(shù)據(jù)庫(kù):如MySQL、Oracle猎唁、SQL Server等具有結(jié)構(gòu)化表結(jié)構(gòu)形式存儲(chǔ)咒劲。

非關(guān)系型數(shù)據(jù)庫(kù):如MongoDB、Redis等Key-Value形式存儲(chǔ)诫隅。

二進(jìn)制文件:

如圖片腐魂、視頻、音頻等等直接保存成特定格式即可逐纬。

文章源自網(wǎng)絡(luò)蛔屹,如有侵權(quán),請(qǐng)聯(lián)系小編刪除豁生。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兔毒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子甸箱,更是在濱河造成了極大的恐慌育叁,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芍殖,死亡現(xiàn)場(chǎng)離奇詭異擂红,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)围小,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門昵骤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人肯适,你說(shuō)我怎么就攤上這事变秦。” “怎么了框舔?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵蹦玫,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我刘绣,道長(zhǎng)樱溉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任纬凤,我火速辦了婚禮福贞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘停士。我一直安慰自己挖帘,他們只是感情好完丽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著拇舀,像睡著了一般逻族。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上骄崩,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天聘鳞,我揣著相機(jī)與錄音,去河邊找鬼要拂。 笑死搁痛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的宇弛。 我是一名探鬼主播鸡典,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枪芒!你這毒婦竟也來(lái)了彻况?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤舅踪,失蹤者是張志新(化名)和其女友劉穎纽甘,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體抽碌,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悍赢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了货徙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片左权。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖痴颊,靈堂內(nèi)的尸體忽然破棺而出赏迟,到底是詐尸還是另有隱情,我是刑警寧澤蠢棱,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布锌杀,位于F島的核電站,受9級(jí)特大地震影響泻仙,放射性物質(zhì)發(fā)生泄漏糕再。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一玉转、第九天 我趴在偏房一處隱蔽的房頂上張望突想。 院中可真熱鬧,春花似錦、人聲如沸蒿柳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)垒探。三九已至,卻和暖如春怠李,著一層夾襖步出監(jiān)牢的瞬間圾叼,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工捺癞, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夷蚊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓髓介,卻偏偏與公主長(zhǎng)得像惕鼓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唐础,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理箱歧,服務(wù)發(fā)現(xiàn),斷路器一膨,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • HTTP基本原理 URI呀邢、URL、URN(Uninform Resource) URI(Identifier):統(tǒng)...
    GHope閱讀 2,068評(píng)論 2 26
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架豹绪,建立于...
    Hsinwong閱讀 22,350評(píng)論 1 92
  • 1价淌、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,969評(píng)論 3 119
  • 1. 一個(gè)無(wú)名校背景蝉衣、無(wú)名氣、無(wú)職位的大學(xué)副教授突然成了網(wǎng)紅巷蚪,與一般的網(wǎng)紅不同买乃,他不靠臉,不靠迎合讀者的心理钓辆,只是...
    不辣的媽閱讀 2,358評(píng)論 7 65