1.6 Web庫的安裝
現(xiàn)在日常訪問的網(wǎng)站都是Web服務(wù)程序搭建而成的氮采。Python也有Web服務(wù)程序体捏,比如Flask, Django等梗摇,我們可以使用它來開發(fā)網(wǎng)站和接口等拓哟。
主要作用是構(gòu)建代理池。本書中的Web服務(wù)成雪主要是Flask和Tornado伶授。
1.6.1 Flask的安裝
Flask是一個輕量級的Web服務(wù)程序断序,它簡單,易用糜烹,靈活违诗。
1.6.2 Tornado的安裝
Tornado是一個支持異步的Web框架,通過使用非阻塞I/O流疮蹦, 它可以支撐成千上萬的開放連接诸迟,效率非常高。
利用Tornado + Redis來搭建一個ADSL撥號代理池
1.7 APP爬取相關(guān)庫的安裝
簡單的接口 Charles或者mitmproxy分析
復(fù)雜的結(jié)構(gòu)用mitmdump來對抓取的請求和相應(yīng)進(jìn)行實時處理和保存
自動化App操作愕乎, 使用Appium阵苇。
1.7.1 Charles的安裝
Charles是一個網(wǎng)絡(luò)抓包工具,相比Fiddler感论,其功能更強(qiáng)大绅项,跨平臺支持得更好,
由于使用時間是30天笛粘,所以先下載趁怔,等用到再配置
1.7.2? mitmproxy的安裝
mitmproxy是一個支持HTTP和HTTPS的抓包程序湿硝,類似Fiddler薪前, Charles的功能,只不過它通過控制臺的形式操作关斜。
此外示括, mitmproxy還是兩個關(guān)聯(lián)組建,一個是mitmdump痢畜,它是mitmproxy的命令行接口垛膝,利用它可以對接Pyhton腳本,實現(xiàn)監(jiān)聽后的處理丁稀,另一個是mitmweb吼拥,它是一個Web程序刘离,通過它可以清楚的觀察到mitmproxy捕獲的請求
1.7.3 Appium的安裝
1.8 爬蟲框架的安裝
我們直接用requests,Selenium等庫寫爬蟲齿拂,爬取量不大,速度要求不高涉馅,完全可以滿足需求,但是很多代碼和組件可以復(fù)用枯跑,我們吧這些組件抽離出來惨驶,將各個功能模塊化,就慢慢會形成一個框架出行敛助,久而久之粗卜,爬蟲框架就誕生了。
利用框架纳击,我們可以不用關(guān)心某些功能的具體實現(xiàn)续扔,只關(guān)心邏輯即可,有了它們焕数,可以大大簡化代碼量测砂,而且框架也會變得清晰,爬取效率也會高很多百匆。
主要介紹了爬蟲框架有pyspider和Scrapy.
1.8.1 pyspider的安裝
pyspider是國人binux寫的強(qiáng)大的爬蟲框架砌些,它帶有強(qiáng)大的WebUI, 腳本編輯器,任務(wù)控制器加匈,項目管理器以及結(jié)果處理器存璃,同時支持多種數(shù)據(jù)庫后端,多種消息隊列雕拼,另外還支持JavaScript渲染頁面的爬去纵东,使用起來非常方便。
1.8.2 Scrapy的安裝
Scrapy-Splash是一個Scrapy中支持JavaScript渲染的工具