一、問題匯總:
1、python中的__str__和__repr__方法在類編寫中的應(yīng)用,兩者都是用來顯示字符串,而對于3__str__方法來說是為了顯示給用戶,后一個(gè)方法主要是顯示給開發(fā)人員。兩者相似,如果沒有重新編寫這倆函數(shù)的話打印類的對象會(huì)返回對象類型和存儲地址。對“懶惰的__repr__用法是:__repr__=__str__”
2、python中的@property用法,是一個(gè)裝飾器方法,用來動(dòng)態(tài)將方法加為實(shí)例對象可以設(shè)置的屬性,如果將類方法裝飾為一個(gè)屬性時(shí),那么說明這個(gè)屬性可以進(jìn)行讀取,但是還不能進(jìn)行設(shè)置,如果在加上@property.setter裝飾之后,這個(gè)屬性就可以在實(shí)例對象中進(jìn)行修改,也就是說這個(gè)方法可以讀也可以寫(更改)。
@property廣泛應(yīng)用在類的定義中,可以讓調(diào)用者寫出簡短的代碼,同時(shí)保證對參數(shù)進(jìn)行必要的檢查,這樣,程序運(yùn)行時(shí)就減少了出錯(cuò)的可能性。
3、爬蟲運(yùn)用到的數(shù)據(jù)庫安裝:數(shù)據(jù)庫軟件+可視化軟件的安裝。MongoDB、Redis(非關(guān)系型數(shù)據(jù)庫)、MySQL(關(guān)系型數(shù)據(jù)庫)。剛從知乎中了解到菲關(guān)系型數(shù)據(jù)庫是閹割了傳統(tǒng)關(guān)系型數(shù)據(jù)庫acid特性使得數(shù)據(jù)可更能便捷操作,同時(shí)加強(qiáng)了對非結(jié)構(gòu)化數(shù)據(jù)的支持,他它的名字也是特別有意思,not only SQL就是說我不只是sql,我有的他沒有(歪解!?。。烧叩膮^(qū)別:我們知道非關(guān)系型數(shù)據(jù)庫存儲的形式一般為key-value鍵值對的存儲形式,各個(gè)對象之間耦合性很低,可讀性好。而對于關(guān)系型數(shù)據(jù)有嚴(yán)格的asci特性。兩者運(yùn)用場景不同對于金融等交易業(yè)務(wù)安全性和數(shù)據(jù)格式化程度要求高的場景來說適合關(guān)系型數(shù)據(jù)庫,但是對于互聯(lián)網(wǎng)企業(yè)來說,高速變更的業(yè)務(wù)數(shù)據(jù)要求更快的存取數(shù)據(jù),簡化操作,這樣來說菲關(guān)系型數(shù)據(jù)庫就有著分布式,更容易存取非結(jié)構(gòu)數(shù)據(jù)等優(yōu)勢。總之,兩者的優(yōu)缺點(diǎn)相對,兩者的應(yīng)用場景不同,兩者的應(yīng)用需求當(dāng)然也就不盡相同。
#后面系統(tǒng)學(xué)習(xí)時(shí)候在進(jìn)行相應(yīng)的補(bǔ)充
4、剛開始學(xué)習(xí)爬蟲時(shí)教程給的爬去的網(wǎng)站鏈接都可以直接爬到多需要的數(shù)據(jù),隨著學(xué)習(xí)的深入,發(fā)現(xiàn)真正有價(jià)值的數(shù)據(jù)不會(huì)直接顯示給用戶,或者說直接體現(xiàn)在網(wǎng)頁代碼中,同時(shí)相關(guān)網(wǎng)站開發(fā)人員為了保護(hù)網(wǎng)站和數(shù)據(jù)部署了相應(yīng)的反爬蟲機(jī)制,初步了解到反爬蟲機(jī)制主要是應(yīng)用三種:檢測網(wǎng)站請求頭,檢測用戶行為,數(shù)據(jù)隱藏。前兩種檢測到直接封禁ip,這時(shí)候我們可以采取添加請求頭到請求中,如果ip被封禁,那么可以通過創(chuàng)建代理IP池,爬取網(wǎng)上免費(fèi)提供的IP地址,存入到數(shù)據(jù)庫中,然后定時(shí)更換IP,模擬多用戶異地登錄的場景,再去部署我們的爬蟲。對于第三種來說,不能獲取隱藏的信息需要我們進(jìn)行解析,這個(gè)后面在進(jìn)行補(bǔ)充。
5、還是python中的os模塊的用法,可以從官方網(wǎng)站上進(jìn)行查看官方文檔,雖然讀的速度很慢但是很容易理解。網(wǎng)站鏈接:python官方文檔
二、明日工作:
1、實(shí)現(xiàn)爬取淘寶美食的實(shí)戰(zhàn)。感覺得用到三小時(shí)。
2、建立博客初級模型,今晚找找教程。有時(shí)間的話,計(jì)劃6月底之前,博客能夠正式上線。