- 實戰Python網絡爬蟲
- 黃永祥
- 1025字
- 2019-11-22 18:44:31
1.5 爬蟲的合法性與開發流程
網絡爬蟲在大多數情況下都不會違法,在生活中幾乎都有爬蟲應用,比如在百度中搜索的內容幾乎都是通過爬蟲采集下來的,因此網絡爬蟲作為一門技術,技術本身是不違法的,且在大多數情況下可以放心使用爬蟲技術。當然也有特殊情況,正如水果刀本身在法律上并不被禁止使用,但是用來傷害他人,這就觸犯了法律規則。一般情況下,爬蟲所帶來的違法風險主要體現在以下幾個方面:
(1)利用爬蟲技術與黑客技術結合,攻擊網站后臺,從而竊取后臺數據。因為爬蟲是爬取網站上的網頁信息,這些信息能給用戶瀏覽,也就是說這些信息允許我們使用和爬取。但網站的后臺數據是不被公開的數據,這些數據涉及了用戶的隱私和財產安全,如果通過爬蟲技術與黑客技術竊取后臺數據,這就明顯觸發法律的底線。
(2)利用爬蟲惡意攻擊網站,造成網站系統的癱瘓。爬蟲是通過程序去訪問并操控網站,因此訪問速度非常快,再加上程序的高并發處理,可以在短時間內模擬成千上萬的用戶在訪問網站。當網站的訪問量過高,就會加重網站的負載,從而造成系統的癱瘓,如果長期這樣惡意攻擊網站系統,也很可能違反相關的法律條例。
綜上所述,爬蟲技術本身是無罪的,問題往往出在人的無限欲望上。因此爬蟲開發者和企業經營者的道德良知才是避免觸碰法律底線的根本所在。
既然爬蟲技術是合法的,那么,我們有必要了解一下爬蟲的開發流程。只有掌握開發流程,才能編寫高質的爬蟲程序,這好比蓋房子一樣,建筑施工人員需要根據房屋設計圖才能搭建房子,而房屋設計圖等同于爬蟲的開發流程。一般情況下,爬蟲的開發流程如下:
(1)需求說明。任何程序開發都離不開需求說明,爬蟲開發也是如此。需求說明包含功能說明、功能的業務邏輯等詳細說明。爬蟲的需求說明要明確告知開發人員需要爬取哪些數據、數據的存儲方式以及爬蟲的爬取效率。
(2)爬蟲開發計劃。根據爬蟲的需求說明制定相關的開發計劃,比如選擇爬蟲的開發工具、功能模塊化設計、設計爬蟲運行模式等一系列開發明細。
(3)爬蟲的功能開發。根據開發計劃編寫相應的功能代碼。以功能模塊化設計為依據,每個功能模塊以函數或類的形式表示,再將各個模塊進行組合,從而實現整個爬蟲功能的開發。
(4)爬蟲的部署與交付。程序開發完成后(包含測試通過)就可以進行部署上線或交付客戶。部署和交付的方式有多種,比如打包exe程序、GUI界面(爬蟲軟件)或定時執行等。
上述的爬蟲開發流程是相對而言的,每一個開發步驟并非一成不變的,具體的開發流程還需要結合實際情況而定。
- Apache ZooKeeper Essentials
- 工程軟件開發技術基礎
- OpenCV 3和Qt5計算機視覺應用開發
- Oracle數據庫從入門到運維實戰
- Python Data Analysis Cookbook
- Salesforce Reporting and Dashboards
- 蘋果的產品設計之道:創建優秀產品、服務和用戶體驗的七個原則
- 持續集成與持續交付實戰:用Jenkins、Travis CI和CircleCI構建和發布大規模高質量軟件
- Qt5 C++ GUI Programming Cookbook
- Arduino計算機視覺編程
- RocketMQ實戰與原理解析
- Appcelerator Titanium:Patterns and Best Practices
- Python網絡爬蟲實例教程(視頻講解版)
- Python程序設計教程
- Learning D3.js 5 Mapping(Second Edition)