小白學(xué)爬蟲系列-基礎(chǔ)-準(zhǔn)備工作

Python版本3.8.0龄章,開發(fā)工具:Pycharm

爬蟲流程:

1. 獲取網(wǎng)頁url(網(wǎng)址)

url:統(tǒng)一資源定位符鳞疲,是要爬取目標(biāo)網(wǎng)頁的地址约啊,例如豆瓣電影:https://movie.douban.com/

2. 發(fā)出請(qǐng)求哑梳,獲得響應(yīng)

用戶在瀏覽器輸入網(wǎng)址之后荣月,經(jīng)過DNS 服務(wù)器,找到服務(wù)器主機(jī)袭蝗,向服務(wù)器發(fā)出訪問請(qǐng)求唤殴,服務(wù)器經(jīng)過解析之后,發(fā)送給用戶的瀏覽器HTML到腥、JS朵逝、CSS等文件,瀏覽器解析出來呈現(xiàn)給用戶乡范。

瀏覽器沒有信息配名,只負(fù)責(zé)發(fā)送請(qǐng)求和得到響應(yīng)。服務(wù)器中存儲(chǔ)大量信息晋辆,通過響應(yīng)請(qǐng)求將數(shù)據(jù)返回給瀏覽器進(jìn)行顯示渠脉。

大部分服務(wù)器只能響應(yīng)瀏覽器的請(qǐng)求,所以通過 Python 編寫的爬蟲腳本瓶佳,如果沒有偽裝成瀏覽器芋膘,是請(qǐng)求不到數(shù)據(jù)的。

3. 提取所需數(shù)據(jù)

服務(wù)器返回給瀏覽器的數(shù)據(jù)包括HTML 片段霸饲、XML 文檔为朋、JSON 文件等數(shù)據(jù)。針對(duì)不同數(shù)據(jù)選擇不同的方式進(jìn)行數(shù)據(jù)提取厚脉。

常用解析方式有:

re 正則表達(dá)式习寸;

? ? ?html.parser;

? ? ?BeautifulSoup傻工;

? ? ?lxml(xpath技術(shù))霞溪;

? ? ?ElementTree(解析xml)孵滞;?

4. 保存數(shù)據(jù)

一般對(duì)規(guī)整化的數(shù)據(jù)直接保存成文件,放在本地鸯匹。當(dāng)然坊饶,也可以通過連接數(shù)據(jù)庫保存在數(shù)據(jù)庫中

你還需要了解

1. 爬蟲是什么?

爬蟲忽你,即網(wǎng)絡(luò)爬蟲幼东。當(dāng)你輸入網(wǎng)址或者程序解析到新的網(wǎng)址,這個(gè)網(wǎng)址就是一個(gè)通道科雳,爬蟲通過這個(gè)通道到達(dá)新的地址根蟹,并通過編程獲取新地址的數(shù)據(jù)。說直接點(diǎn):爬蟲就是通過編程從網(wǎng)上獲取數(shù)據(jù)糟秘。

2. 什么是瀏覽器請(qǐng)求简逮?

例如,當(dāng)你在登錄一個(gè)網(wǎng)站時(shí)尿赚,需要輸入用戶名和密碼散庶,此時(shí)會(huì)有兩種數(shù)據(jù)請(qǐng)求方式:GET 方式和POST 方式。

GET方式:

直接將參數(shù)寫在網(wǎng)址中凌净,構(gòu)建一個(gè)帶參數(shù)的url悲龟。例如 https://www.wz.com?username='zhiqiuxiaomeng'&passwd='123456',將 username 和 passwd 直接帶入?yún)?shù)中冰寻。

POST方式:

將參數(shù)保存成一個(gè)變量须教,在請(qǐng)求過程中將變量發(fā)送給服務(wù)器。例如 values = {"username":"zhiqiuxiaomeng","passwd":"123456"}斩芭,在發(fā)送請(qǐng)求的時(shí)候?qū)?values 一起發(fā)送給服務(wù)器轻腺。

3. 什么是服務(wù)器響應(yīng)?

服務(wù)器在接收到瀏覽器請(qǐng)求后划乖,對(duì)請(qǐng)求進(jìn)行驗(yàn)證贬养,并返回相應(yīng)的驗(yàn)證結(jié)果給瀏覽器,瀏覽器對(duì)返回結(jié)果解析琴庵,呈現(xiàn)給用戶误算。

服務(wù)器返回結(jié)果包括兩種:一種是返回?cái)?shù)據(jù),在瀏覽器端進(jìn)行刷新填充细卧;一種是返回一個(gè)新的頁面尉桩,在瀏覽器端進(jìn)行跳轉(zhuǎn)。數(shù)據(jù)類型包括 html贪庙、css、json 等翰苫。

4. 什么是html止邮、CSS这橙、jsp、xml导披?

html 是超文本標(biāo)記語言屈扎,通俗的說就是你現(xiàn)在看到的這個(gè)網(wǎng)頁的源代碼,不同的瀏覽器都會(huì)對(duì)這個(gè) html 文本解析撩匕,得到一個(gè)網(wǎng)頁呈現(xiàn)在瀏覽器中鹰晨。

css 叫層疊樣式表,就來美化 html 頁面的止毕,現(xiàn)在主流的是配合 DIV 一起排版模蜡。

jsp 是一種服務(wù)器編程技術(shù),主要用 java 寫服務(wù)器頁面扁凛,這些頁面支持 java 語義的標(biāo)記忍疾,到時(shí)候都會(huì)通過http傳輸?shù)接脩舻臑g覽器解析為標(biāo)準(zhǔn)的 html 頁面。

xml 為可擴(kuò)展的標(biāo)記語言谨朝,就是可以自定義 DOM 節(jié)點(diǎn)卤妒,現(xiàn)在用 XML 用來支持異步數(shù)據(jù)傳輸較多,比如JSON字币,很多原生的 API 也都是 XML 格式的

在瀏覽器解析的網(wǎng)頁中则披,雖然用戶看到的都是中文(或英文),但實(shí)際編碼不盡相同洗出,有utf-8編碼士复,有g(shù)bk編碼,可能還會(huì)有?iso8859-1 編碼共苛。

5. 什么是ascll判没、unicode?

ascll 編碼:使用一個(gè)字節(jié)進(jìn)行編碼(因?yàn)橛⑽暮蛿?shù)字一個(gè)字節(jié)足夠)

unicode 編碼:使用兩個(gè)字節(jié)進(jìn)行編碼(因?yàn)橹形闹辽傩枰獌蓚€(gè)字節(jié))

utf-8 編碼:可變長編碼隅茎,英文通常是1個(gè)字節(jié)澄峰,漢字是三個(gè)及以上(生僻字)字節(jié)(節(jié)省存儲(chǔ)空間)

注:utf-8 編碼是unicode 編碼的實(shí)現(xiàn)方式之一

6. 什么是 utf-8、gb2312辟犀、gbk俏竞、iso8859-1 ?

GB2312 是國家制定的漢字編碼標(biāo)準(zhǔn)堂竟,使用雙子節(jié)進(jìn)行編碼魂毁,共收入6763個(gè)漢字和682個(gè)非漢字圖形字符。

GBK 即對(duì)國標(biāo)編碼的擴(kuò)展出嘹,在GB2312 的基礎(chǔ)上進(jìn)行擴(kuò)展形成的席楚,使用雙子節(jié)編碼方式,共收入21003個(gè)漢字税稼,從而大大滿足了漢字使用的需要烦秩。

ISO-8859-1 編碼是單字節(jié)編碼?垮斯,向下兼容ASCII,是許多歐洲國家使用的編碼標(biāo)準(zhǔn)

準(zhǔn)備工作大概就這么些只祠,你們準(zhǔn)備好了嗎兜蠕?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市抛寝,隨后出現(xiàn)的幾起案子熊杨,更是在濱河造成了極大的恐慌,老刑警劉巖盗舰,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晶府,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡岭皂,警方通過查閱死者的電腦和手機(jī)郊霎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爷绘,“玉大人书劝,你說我怎么就攤上這事⊥林粒” “怎么了购对?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長陶因。 經(jīng)常有香客問我骡苞,道長,這世上最難降的妖魔是什么楷扬? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任解幽,我火速辦了婚禮,結(jié)果婚禮上烘苹,老公的妹妹穿的比我還像新娘躲株。我一直安慰自己,他們只是感情好镣衡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布霜定。 她就那樣靜靜地躺著,像睡著了一般廊鸥。 火紅的嫁衣襯著肌膚如雪望浩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天惰说,我揣著相機(jī)與錄音磨德,去河邊找鬼。 笑死吆视,一個(gè)胖子當(dāng)著我的面吹牛剖张,可吹牛的內(nèi)容都是我干的切诀。 我是一名探鬼主播揩环,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼搔弄,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了丰滑?” 一聲冷哼從身側(cè)響起顾犹,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎褒墨,沒想到半個(gè)月后炫刷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡郁妈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年浑玛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片噩咪。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顾彰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胃碾,到底是詐尸還是另有隱情涨享,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布仆百,位于F島的核電站厕隧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏俄周。R本人自食惡果不足惜吁讨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峦朗。 院中可真熱鬧建丧,春花似錦、人聲如沸甚垦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艰亮。三九已至闭翩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迄埃,已是汗流浹背疗韵。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侄非,地道東北人蕉汪。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓流译,卻偏偏與公主長得像,于是被迫代替她去往敵國和親者疤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子福澡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

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

  • HTTP基本原理 URI、URL驹马、URN(Uninform Resource) URI(Identifier):統(tǒng)...
    GHope閱讀 2,068評(píng)論 2 26
  • 27革砸、移動(dòng)端響應(yīng)式布局開發(fā) 響應(yīng)式布局開發(fā) 1、什么是響應(yīng)式布局開發(fā)糯累?把我們開發(fā)完成的產(chǎn)品算利,能夠讓其適配不同的設(shè)備...
    萌妹撒閱讀 1,039評(píng)論 0 0
  • 爬蟲概述 1. 目錄清單 爬蟲簡介 通用爬蟲和聚焦爬蟲 網(wǎng)絡(luò)請(qǐng)求那些事兒 網(wǎng)絡(luò)數(shù)據(jù)抓包分析 2. 章節(jié)內(nèi)容 2.1...
    小皇帝s閱讀 686評(píng)論 0 1
  • 基礎(chǔ)知識(shí) HTTP協(xié)議 我們?yōu)g覽網(wǎng)頁的瀏覽器和手機(jī)應(yīng)用客戶端與服務(wù)器通信幾乎都是基于HTTP協(xié)議,而爬蟲可以看作是...
    腩啵兔子閱讀 1,472評(píng)論 0 17
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評(píng)論 0 11