目錄
什么是Python爬蟲
Python爬蟲用途
Python爬蟲可以獲得那些數據
Python爬蟲的用途
反爬是什么
常見的反爬措施
Python爬蟲技術模塊總結
獲取網站的原始響應數據
獲取到響應數據對響應數據進行過濾
對收集好的數據進行存儲
抵御反爬機制
Python爬蟲框架
Python爬蟲法律風險
什么是Python爬蟲
模擬瀏覽器對網址服務器發送請求,解析服務器返回的響應數據。
Python爬蟲用途
代替手動操控瀏覽器收集數據,通過Python爬蟲實現自動收集數據,用作數據分析
Python爬蟲可以獲得那些數據
因為Python爬蟲就是在做瀏覽器的工作,瀏覽器是發送請求直接展示返回的響應數據。Python爬蟲是發送請求得到響應數據之后,過濾響應數據收集自己想要的信息。
原理都是類似的,所以Python爬蟲原則上是只能獲取瀏覽器可以正常獲取的數據
Python爬蟲的用途
數據分析、對網站進行數據監控、搜索引擎、刷網上數據如播放量、搶票、網絡安全等
反爬是什么
對抗Python爬蟲的手段的統稱。防止數據被惡意獲取。
常見的反爬措施
登錄才可能看到網站里面的數據、進入網站的各種驗證手段、檢測同一IP單位時間內的請求量是否異常、請求需要攜帶特定數據、網站的響應數據被加密等等。
Python爬蟲技術模塊總結
分為四大部分
獲取網站的原始響應數據
1、使用接口請求獲取? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Request三方庫
2、操控瀏覽器,對瀏覽器模擬過程中進行獲取? ? ? ? ? ? ? Selenium三方庫
獲取到響應數據對響應數據進行過濾
正則表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? re標準庫
XPath表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lxml三方庫
對收集好的數據進行存儲
MySQL、MongDB、Redis相關知識
抵御反爬機制
使用Python代碼模擬登錄
通過OpenCV計算機視覺、OCR文字識別、機器學習通過驗證碼識別
了解各類加密算法和JS逆向分析還原網站加密流程,破解加密
Python爬蟲框架
市場上宣傳最多的是Scrapy框架
個人是不建議使用爬蟲框架的,原因如下
????????Python已經提供了很多簡單的工具庫,本身編寫爬蟲已經很簡單了,用了框架反而增加了很多麻煩
? ? ? ? 爬蟲框架使用的是并發方式進行爬取,如果爬取頻率過大,本身就已經是一種網絡攻擊了,所以爬蟲效率過高反而是壞事,嚴重的情況下是有法律風險
? ? ? ? 爬蟲框架限制死了爬取網站的流程,如果有些特殊情況下可能爬取流程不一樣,反而無法兼容使用,如: 我直接讓前端使用插件自動化控制網頁進行對網站的HTML獲取直接傳入后臺解析,那么這種情況爬蟲框架就無法兼容了
Python爬蟲法律風險
技術本身合法
使用Python爬蟲進行黑客攻擊、使用Python爬蟲獲取的數據進行謀利、侵犯版權和隱私權違法