最好學習一下,不要求熟悉,但必須要會,我們爬蟲所爬取的網頁數據大部分都會直接或間接嵌套在html標簽或屬性中,如果你對html一點都不了解,也就無從談及數據的解析和提取,下面我簡單介紹一下python爬蟲的學習過程,感興趣的朋友可以嘗試一下:
基礎html知識這個是最基本也是必須的,首先,學習網絡爬蟲,你就需要學習html知識,網頁是用html寫的,數據自然也會嵌套在其中,無非就是某一個標簽或屬性,如果你對html一點都不了解,也就無從談及解析規則的編寫,數據也就無從提取,不要求多么熟悉、精通html,但基本的標簽、屬性必須要能看懂,如果你沒有這方面基礎的話,建議學習一下,初學入門html,也主要以記憶為主,很快就能掌握:
基本爬蟲庫基礎的html知識掌握后,就是網絡爬蟲的編寫,這里可以從一些簡單易用、容易上手的爬蟲庫開始,比較常見的就是urllib、requests、beautifulsoup、lxml,官方教程非常詳細,先獲取網頁數據,然后再編寫解析規則提取即可,對于大部分靜態網頁來說,都可以輕松爬取,動態網頁數據的提取可能需要抓包分析(數據不會直接在網頁源碼中看到),但基本原理類似,也是先獲取數據,然后再解析提取:
專業爬蟲框架基本爬蟲庫熟悉后,大部分網頁數據都可以爬取,但需要反復造輪子,效率不高,也不易于后期維護和擴展,這里可以學習一下專業強大的爬蟲框架,python來說,比較受歡迎、也比較流行的就是scrapy,框架成熟、穩定,可擴展性強,只需編寫少量代碼即可快速開啟一個爬蟲程序,初學入門來說也非常友好,官方文檔豐富,社區活躍,資料齊全,各個模塊組件都是獨立開源的,后期研究學習也非常不錯:
總之,python爬蟲對html要求不高,但必須要了解,能看懂基本的網頁結構、標簽和屬性,后期才能編寫具體的解析規則提取數據,建議多看多練,熟悉一下scrapy框架的使用,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
css選擇器優先級核心:每個選擇器本身有優先級,作用范圍越具體優先級越高。
CSS優先級從高到低分別是:
1.在屬性后面使用 !important 會覆蓋頁面內任何位置定義的元素樣式。
2.作為style屬性寫在元素標簽上的內聯樣式
3.id選擇器
4.類選擇器
5.偽類選擇器
6.屬性選擇器
7.標簽選擇器
8.通配符選擇器
9.瀏覽器選擇器
當CSS樣式的規則由多個選擇器組成時,id選擇器的權值為1000,class選擇器為100,標簽選擇器為10,按權值求和的記過高低決定哪個優先。當兩個css規則的權值相同時,誰更具體用誰,也就是權值高的選擇器作用的越具體優先級越高。當兩個選擇器規則和權值都是一樣,后面樣式會覆蓋前面的!
1、首先打開DreamweaverCC2018軟件新建一個html文件,在右上角點擊CSS設計器,并在下方點擊加號,然后選擇創建新的CSS文件:
2、在創建窗口中,點擊瀏覽按鈕。
3、然后選擇站點創建好CSS文件夾,然后輸入創建的CSS的名字,點擊保存插件文件:
4、然后把添加為設置成鏈接,點擊確定按鈕:
5、添加完成后就可以在右側的站點中的CSS文件夾下看到剛創建好的CSS樣式表文件了:
6、此時在html文件中的head標簽中,就多了一行鏈接到CSS文件的代碼。在頂部tab標簽中也可以看到鏈接的樣式表:
7、接下來在html網頁編輯頁面,在body標簽中輸入一個div:
8、然后在頂部tab標簽中選擇剛才創建的CSS樣式表,并在樣式表中寫一個樣式,命名為aaa,并按下快捷鍵Ctrl+S保存樣式表:
9、最后回到html編輯頁面,在div標簽中引入class,輸入剛才寫的樣式的名稱aaa并保存網頁:
10、最后點擊頂部的設計按鈕,就可以看到實時效果了,此時css文件就成功鏈接進去了:
一次讀完是最好的辦法,控制爬取速度就行。我不知道你用的什么代理,你可以試試我寫的免費代理服務器,可以在本地源源不斷地提供可用代理。
如果要循環執行,也有幾種方法,你寫的循環執行Scrapy-crawl命令就可以,但這樣是很笨的,因為每次都要重啟進程。
比較好的選擇是使用scrapy提供的內部機制,比如reactor+CrawlerRunner,這樣你可以在外部對爬蟲進行控制,增加你想要的任何爬取條件,在同一個線程里重復啟動爬蟲,爬取結束后干掉reactor即可。具體的做法,Scrapy的官方文檔里有介紹,循環條件你要自己寫。
我上面貼的代理服務器,將Scrapy底層的reactor運行在Tornado的event loop之上,在需要的時候調用各個爬蟲,也符合你的需要,你可以研究一下。
另外提供一個反面教材,也是我自己以前寫的,用Python腳本定時執行crapy-crawl命令,你也可以參考一下。