Python爬蟲(chóng)入門(mén)有哪些基礎(chǔ)知識(shí)點(diǎn)
1、什么是爬蟲(chóng)
爬蟲(chóng),即網(wǎng)絡(luò)爬蟲(chóng),大家可以理解為在網(wǎng)絡(luò)上爬行的一直蜘蛛,互聯(lián)網(wǎng)就比作一張大網(wǎng),而爬蟲(chóng)便是在這張網(wǎng)上爬來(lái)爬去的蜘蛛咯,如果它遇到資源,那么它就會(huì)抓取下來(lái)。想抓取什么?這個(gè)由你來(lái)控制它咯。
比如它在抓取一個(gè)網(wǎng)頁(yè),在這個(gè)網(wǎng)中他發(fā)現(xiàn)了一條道路,其實(shí)就是指向網(wǎng)頁(yè)的超鏈接,那么它就可以爬到另一張網(wǎng)上來(lái)獲取數(shù)據(jù)。這樣,整個(gè)連在一起的大網(wǎng)對(duì)這之蜘蛛來(lái)說(shuō)觸手可及,分分鐘爬下來(lái)不是事兒。
2、瀏覽網(wǎng)頁(yè)的過(guò)程
在用戶(hù)瀏覽網(wǎng)頁(yè)的過(guò)程中,我們可能會(huì)看到許多好看的圖片,比如 http://image.baidu.com/ ,我們會(huì)看到幾張的圖片以及百度搜索框,這個(gè)過(guò)程其實(shí)就是用戶(hù)輸入網(wǎng)址之后,經(jīng)過(guò)DNS服務(wù)器,找到服務(wù)器主機(jī),向服務(wù)器發(fā)出一個(gè)請(qǐng)求,服務(wù)器經(jīng)過(guò)解析之后,發(fā)送給用戶(hù)的瀏覽器 HTML、JS、CSS 等文件,瀏覽器解析出來(lái),用戶(hù)便可以看到形形色色的圖片了。
因此,用戶(hù)看到的網(wǎng)頁(yè)實(shí)質(zhì)是由 HTML 代碼構(gòu)成的,爬蟲(chóng)爬來(lái)的便是這些內(nèi)容,通過(guò)分析和過(guò)濾這些 HTML 代碼,實(shí)現(xiàn)對(duì)圖片、文字等資源的獲取。
3、URL的含義
URL,即統(tǒng)一資源定位符,也就是我們說(shuō)的網(wǎng)址,統(tǒng)一資源定位符是對(duì)可以從互聯(lián)網(wǎng)上得到的資源的位置和訪(fǎng)問(wèn)方法的一種簡(jiǎn)潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址?;ヂ?lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
URL的格式由三部分組成:
①第一部分是協(xié)議(或稱(chēng)為服務(wù)方式)。
②第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào))。
③第三部分是主機(jī)資源的具體地址,如目錄和文件名等。
爬蟲(chóng)爬取數(shù)據(jù)時(shí)必須要有一個(gè)目標(biāo)的URL才可以獲取數(shù)據(jù),因此,它是爬蟲(chóng)獲取數(shù)據(jù)的基本依據(jù),準(zhǔn)確理解它的含義對(duì)爬蟲(chóng)學(xué)習(xí)有很大幫助。
4、環(huán)境的配置
學(xué)習(xí)Python,當(dāng)然少不了環(huán)境的配置,最初我用的是Notepad++,不過(guò)發(fā)現(xiàn)它的提示功能實(shí)在是太弱了,于是,在Windows下我用了PyCharm,在Linux下我用了Eclipse for Python,另外還有幾款比較優(yōu)秀的IDE,大家可以參考這篇文章 學(xué)習(xí)Python推薦的IDE 。好的開(kāi)發(fā)工具是前進(jìn)的推進(jìn)器,希望大家可以找到適合自己的IDE。
知識(shí)點(diǎn)補(bǔ)充:
什么是爬蟲(chóng)和爬蟲(chóng)的基本邏輯
“爬蟲(chóng)”是一種形象的說(shuō)法?;ヂ?lián)網(wǎng)比喻成一張大網(wǎng),爬蟲(chóng)是一個(gè)程序或腳本在這種大網(wǎng)上爬走。碰到蟲(chóng)子(資源),若是所需的資源就獲取或下載下來(lái)。這個(gè)資源通常是網(wǎng)頁(yè)、文件等等??梢酝ㄟ^(guò)該資源里面的url鏈接,順藤摸瓜繼續(xù)爬取這些鏈接的資源。
你也可以把爬蟲(chóng)當(dāng)作模擬我們正常上網(wǎng)。打開(kāi)網(wǎng)頁(yè)并分析網(wǎng)頁(yè)的內(nèi)容獲取我們想要的東西。
那么,這里就涉及到http傳輸協(xié)議等相關(guān)的知識(shí)。
我們通常打開(kāi)一個(gè)網(wǎng)頁(yè),基本上都是打開(kāi)一個(gè)Url鏈接即可。在這個(gè)過(guò)程當(dāng)中,實(shí)際上發(fā)生了很多事情。
打開(kāi)一個(gè)Url鏈接,瀏覽器自動(dòng)向Url鏈接的服務(wù)器發(fā)送一個(gè)請(qǐng)求(Request),告訴服務(wù)器說(shuō)我需要訪(fǎng)問(wèn)這個(gè)Url鏈接的內(nèi)容,請(qǐng)返回?cái)?shù)據(jù)給我。服務(wù)器就處理該請(qǐng)求,響應(yīng)該請(qǐng)求并返回結(jié)果給瀏覽器。
既然爬蟲(chóng)需要模擬該過(guò)程。根據(jù)http協(xié)議,爬蟲(chóng)需要構(gòu)造一個(gè)請(qǐng)求(Request),發(fā)到請(qǐng)求到目標(biāo)服務(wù)器(通常是Url鏈接)。然后等待服務(wù)器的響應(yīng)(Response)。
所有相關(guān)的數(shù)據(jù)都在這個(gè)響應(yīng)結(jié)果當(dāng)中,這個(gè)就是爬蟲(chóng)實(shí)現(xiàn)的基本邏輯。
以上就是Python爬蟲(chóng)入門(mén)有哪些基礎(chǔ)知識(shí)點(diǎn)的詳細(xì)內(nèi)容,更多關(guān)于Python爬蟲(chóng)入門(mén)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python新手入門(mén)之常用關(guān)鍵字的簡(jiǎn)單示例詳解
關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,下面這篇文章主要給大家介紹了關(guān)于Python新手入門(mén)之常用關(guān)鍵字的簡(jiǎn)單示例,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Python使用django搭建web開(kāi)發(fā)環(huán)境
這篇文章主要為大家詳細(xì)介紹了Python使用django搭建web開(kāi)發(fā)環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06使用Termux在手機(jī)上運(yùn)行Python的詳細(xì)過(guò)程
這篇文章主要介紹了使用Termux在手機(jī)上運(yùn)行Python的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10Python Matplotlib庫(kù)入門(mén)指南
這篇文章主要介紹了Python Matplotlib庫(kù)入門(mén)指南,本文講解了Matplotlib是什么,然后給出了Matplotlib基礎(chǔ)繪圖實(shí)例如繪制折線(xiàn)圖、繪制多線(xiàn)圖,并給出了圖例功能使用實(shí)例,需要的朋友可以參考下2015-05-05python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法
這篇文章主要介紹了python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法,涉及Python操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下2015-04-04Python如何快速生成本項(xiàng)目的requeirments.txt實(shí)現(xiàn)
本文主要介紹了Python如何快速生成本項(xiàng)目的requeirments.txt實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實(shí)例(二)
這篇文章主要介紹了python數(shù)據(jù)處理編程實(shí)例,需要的朋友可以參考下2014-05-05Python使用pyppeteer進(jìn)行網(wǎng)頁(yè)截圖并發(fā)送機(jī)器人實(shí)例
這篇文章主要介紹了Python使用pyppeteer進(jìn)行網(wǎng)頁(yè)截圖并發(fā)送機(jī)器人實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04分享4個(gè)Python中的非常好用的自動(dòng)化腳本
這篇文章為大家準(zhǔn)備了4個(gè)很棒的Python自動(dòng)化腳本,可以解決這些問(wèn)題。文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-11-11