python構(gòu)建基礎(chǔ)的爬蟲教學(xué)
爬蟲具有域名切換、信息收集以及信息存儲功能。
這里講述如何構(gòu)建基礎(chǔ)的爬蟲架構(gòu)。
1、urllib庫:包含從網(wǎng)絡(luò)請求數(shù)據(jù)、處理cookie、改變請求頭和用戶處理元數(shù)據(jù)的函數(shù)。是python標(biāo)準(zhǔn)庫.urlopen用于打開讀取一個從網(wǎng)絡(luò)獲取的遠(yuǎn)程對象。能輕松讀取HTML文件、圖像文件及其他文件流。
2、beautifulsoup庫:通過定位HTML標(biāo)簽格式化和組織復(fù)雜的網(wǎng)絡(luò)信息,用python對象展現(xiàn)XML結(jié)構(gòu)信息。不是標(biāo)準(zhǔn)庫,可用pip安裝。常用的對象是BeautifulSoup對象。
1、基礎(chǔ)爬蟲
爬蟲需要首先import對象,然后打開網(wǎng)址,使用BeautifulSoup對網(wǎng)頁內(nèi)容進(jìn)行讀取。
2、使用print輸出打開的網(wǎng)址的內(nèi)容。
3、從輸出中可以看出內(nèi)容的結(jié)構(gòu)為:
4、輸出內(nèi)容中的html-body-h1的內(nèi)容可使用四種語句。
5、BeautifulSoup可提取HTML、XML文件的任意節(jié)點(diǎn)的信息,只需要目標(biāo)信息旁邊或附近有標(biāo)記。
1、Error在運(yùn)行代碼時,經(jīng)常會出現(xiàn)錯誤,看懂錯誤出現(xiàn)的原因才能解決存在的問題。
2、在html=urlopen('')中會發(fā)生兩種錯誤:網(wǎng)頁在服務(wù)器上不存在或服務(wù)器不存在。
3、網(wǎng)頁在服務(wù)器上不存在會出現(xiàn)HTTPError,可使用try語句進(jìn)行處理。
當(dāng)程序返回HTTPError錯誤代碼時,會顯示錯誤內(nèi)容。
4、服務(wù)器不存在時,urlopen會返回None.
可使用判斷語句進(jìn)行檢測。
調(diào)用的標(biāo)簽不存在會出現(xiàn)None,調(diào)用不存在的標(biāo)簽下的子標(biāo)簽,就會出現(xiàn)AttributeError錯誤。
總結(jié):以上就是關(guān)于python構(gòu)建基礎(chǔ)的爬蟲的基礎(chǔ)步驟內(nèi)容,感謝大家的閱讀和對腳本之家的支持。
相關(guān)文章
利用Python和C++實(shí)現(xiàn)解析gltf文件
gltf是類似于stl、obj、ply等常見的3D對象存儲格式,它被設(shè)計出來是為了便于渲染的數(shù)據(jù)轉(zhuǎn)換和傳輸,本文為大家介紹了使用Python和C++解析gltf文件的方法,感興趣的可以了解下2023-09-09python實(shí)現(xiàn)b站直播自動發(fā)送彈幕功能
這篇文章主要介紹了python如何實(shí)現(xiàn)b站直播自動發(fā)送彈幕,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-02-02python出現(xiàn)更新庫失敗A?new?release?of?pip?is?available:?23.0.
學(xué)習(xí)了Python我們知道它自帶了很多的庫,同時我們還需要對某個庫進(jìn)行升級,這篇文章主要給大家介紹了關(guān)于python出現(xiàn)更新庫失敗A?new?release?of?pip?is?available:?23.0.1?->?23.3的解決辦法,需要的朋友可以參考下2024-03-03利用Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢優(yōu)化
這篇文章主要介紹了利用Python的Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢的優(yōu)化的一個實(shí)踐例子,展示如何在實(shí)際中利用這兩個函數(shù)減少對數(shù)據(jù)庫的查詢次數(shù),需要的朋友可以參考下2015-04-04python3.4下django集成使用xadmin后臺的方法
本篇文章主要介紹了python3.4下django集成使用xadmin后臺的方法,具有一定的參加價值,有興趣的可以了解一下2017-08-08