python網路爬蟲

2021-09-27 02:38:20 字數 2339 閱讀 7766

其實以前為了完成作業了解過爬蟲,也寫過一些**,算是入得門來了。今天重新學習,是為了更系統的掌握這門語言藝術。

首先是requests庫,這個庫的作用在我現在看來,是為了獲取頁面,比如requests.get(url)就可以獲取位址為url的頁面的資訊,不過這種淺顯的語句當然只能獲得淺顯的資訊,比如框架,真正有價值的資料是不會這麼輕易得到的,不過,這也是基層,了解後才能搭起整個框架。一千也斷斷續續的學過很多語言,比如c,c++,python,還有一些為了完成作業而半路出家學的語言,因為沒有認真對待,或者系統的梳理,所以只是隨時用,隨時查,這樣不僅會太片面,而且也都是在似懂非懂的邊緣徘徊,所以,作為乙個立志要在計算機網路混的人,當然,基礎還是很重要的,好在現在只是大三,我還有一年的時間來充實自己的硬體,加油吧,不再是純潔如瑕的小白,也尚未成為深不可測的小黑,暫時就先叫自己小灰吧,加油吧,計算機小灰。

接下來記錄以下今天的學習成果:

import requests           //注意是requests而不是request

r=requests.get(url)      //獲得乙個response物件r,至於什麼是response物件,或許以後用的多了,就會有更深刻的理解,現在就聽老師的,記住

response物件具有以下屬性:

r.status_code ()               //請求網頁的回應,如果正確連線到了網頁,就會返回200,如果返回其他數字,就說明沒有連線成功。

r.text()                              //從網頁上能獲得的資訊

r.encoding()                     //從頁面的header部分中猜測的編碼方式

r.content()                        //網頁相應內容的二進位制形式

request庫的異常

requests.connectionerror     網路連線錯誤,如dns查詢失敗,拒絕連線等

requests.httperror           http錯誤異常

requests.urlrequired         url缺失異常

requests.toomanyredirects    超過最大重定向次數,產生重定向異常

requests.connecttimeout      連線遠端伺服器超時異常

requests.timeout             請求url超時,產生超時異常

r.raise_for_status()         判斷返回response型別r的狀態不是200,如果不是就會

產生乙個requests.httperror

http協議對資源的額操作:

get                        請求獲取url資源

head                       獲得資源的頭部資訊

post                       請求向url位置的資源後附加新的資料

put                        請求向url位置儲存乙個資源,覆蓋原url位置的資源

patch                      請求區域性更新url位置的資源,即改變該處資源的部分內容

delete                     請求刪除url位置儲存的資源

requests庫的7個主要方法:

requests.request()          構造乙個請求,支撐以下個方法的基礎方法

requests.get()              獲取html網頁的主要方法,

requests.head()             獲取html網頁頭資訊的方法

requests.post()             向網頁提交post請求的方法

requests.put()              向html網頁提交put請求的方法

requests.patch()            向html網頁提交區域性修改請求

requests.delete()           向html頁面提交刪除請求

條條框框似乎很乏味,以後看到或許會理解,但是,重要的是,以後如果有機會能用到,我能不能想起來這種最開始學過的東西,還是當時由於某種需求臨時上網搜。看到好多說現在學習不用記憶,網路這麼方便,用的時候隨時查就好了,講真,我以前是真的聽進去了,不過,現在卻產生了一些不同的看法,你可以搜,不過,前提是你得知道往**搜,而且,不管到什麼時候,記憶都是很重要的,當然,你說現在並不是單以技能高低論英雄,我也輸的心服口服,我先表達的是,系統的學習,是多麼的重要,真正的強者是能夠把學過的東西融匯貫通,達到物盡其用的人。

不管怎麼說,我只是乙個不純的小白,餘生路上,我希望能堅持,向著純色系努力,用當時的自己覺得是正確的方式。

Python網路爬蟲

找到url,也就是相當於入口,找到你要爬取的鏈結,獲取整個頁面資料 使用正規表示式,匹配到你想要爬取的內容,這裡使用的主要是正規表示式和一些常用的開源庫 最後一步就是寫入文字以及儲存問題了,如文字檔案 資料庫 coding utf 8 是用來指定檔案編碼為utf 8 from urllib impo...

python網路爬蟲

這篇部落格簡單的實現了乙個網路爬蟲指令碼,所謂網路爬蟲就是從 某乙個頁面 通常是首頁 開始,讀取網頁的內容,找到在網頁中的其它鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,這樣一直迴圈下去,直到把這個 所有的網頁都抓取完為止。下面就是乙個簡單地網路爬蟲程式 note 這個命令的意思是,從爬去尋找關鍵...

python網路爬蟲

前言去掉所有標籤 dr re.compile r re.s dd dr.sub jiner 任意內容 可以匹配多位數字 可以匹配用逗號隔開的數字 可以匹配一位的數字 可以匹配帶小數點的數字 匹配空白符 匹配最後兩位 re.search 0 9 0 9 0 9 s.dd 當然,爬蟲還有乙個很關鍵的就通...