前言
該文章主要是學習python3爬蟲,以及os,re,type(),super()的描述
天象獨行
0x01;python3爬蟲總結
首先,我們先了解一下什麼是爬蟲,在我看來「爬蟲」的本質就是使用**來替代人為網頁瀏覽資料的一種行為。如果這麼一來那麼就比較簡單了。我們先看看人操作web瀏覽器是如何上網瀏覽資料的。
下面來看看web是如何與資料溝通的:
1;web瀏覽器通過位址url傳送資料報到請求所需要的資料。
2;伺服器經過驗證(通過cookie等方式)通過,返回web瀏覽器所需要的資料。
3;web瀏覽器經過特定的格式來分析解包,展現資訊。
根據上面的分析,我們了解,希望利用**來替代以上分析的行為。
1;web瀏覽器傳送資料報到請求所需要的資料。
1.1;在python3當中使用urllib模組來執行爬蟲功能,其中request模組可以模擬該行為來傳送web資料報。urllib.request.urlopen()可以直接傳送資料報,當然,如果需要完全的模擬web傳送資料報,也可以定製傳送資料報。其中urllib.request.request()來定製web資料報,通過urllib.request.urlopen()來傳送出去。
1.2;定製資料報完成了那我們要往**傳送這個資料報呢?web瀏覽器是通過url來找到對應的伺服器的。通過**當然也是如此,這裡我們可以使用模組urllib.parse模組來構造我們需要的url。
3;web瀏覽器經過特定的格式來分析解包,展現資訊。
對於返回來的資料我們並不是全部都需要,所以,我們需要篩選資料。常見的篩選資料的方法可以是通過bs庫,正規表示式,xpath,jsonpath,selenium。來篩選資料。
0x02;python3 os庫
1;os.access(path,mode) 方法作用是嘗試訪問uid/gid路徑。
2;os.chdir(path) 方法用於切換工作路徑。
3;os.chmod(path,mode) 方法用於更改檔案或目錄的許可權。
4;os.chown(path,uid,gid) 方法使用者更改檔案所有者。
5;os.makedirs(path,mode) 遞迴常見目錄。
6;os.path.exists(path) 確定路徑是否存在。
0x03;python3 re庫
1;re.match(pattern,string,flags=0) 從字串起始位置匹配。
2;re.search(pattern,string,flags=0) 掃瞄整個字串並且返回乙個匹配物件。
3;re.sub,re.subn 替換字串
4;re.findall 匹配全部關鍵字
5;re.compile 編譯正規表示式
0x04;python3 物件
1;定義類,關鍵字class
2;例項化物件
3;繼承
4;方法重寫
0x05;python3 type()
1;type() 函式如果你只有第乙個引數則返回物件的型別
0x06;python3 super()
1;super()呼叫父類方法
工作總結20200104
replace的引數是char和charsequence,即可以支援字元的替換,也支援字串的替換 charsequence即字串序列的意思,說白了也就是字串 replaceall的引數是regex,即基於規則表示式的替換,比如 可以通過replaceall 端潘的偷油命 渝 把乙個字串所有的 端潘的...
學習後總結,總結後再學習
學習後總結,總結後再學習 2010年畢業以來,讀了幾百本書籍,包括it技術 管理 歷史 營銷 金融 心理等等,在讀某商學院mba一年後感覺有些東西還是要寫寫,除了能增加自己對某些知識和理論的理解外,也許其他人也碰巧想關注一下,了解這方面的東西。我所寫的都是一些簡單的概念層面的解釋,不會做太深入的闡述...
學習總結 近期acm學習的總結
開學已經乙個月了,對acm的學習也乙個月了,做了一下總結 對自己不好的地方的反省 1.開學一開始學的是stl,不得不說stl是乙個很好的東西,熟練的運用stl大大的減少了 量,也使演算法容易實現。但是我在用stl後使自己產生了一種惰性思維。在兩個星期的stl練習後,我發現自己變得越來越懶,不願意自己...