關于爬蟲和反爬蟲的簡略方案分享
前言
爬蟲和反爬蟲日益成為每家公司的標配系統(tǒng)。
爬蟲在情報獲取、虛假流量、動態(tài)定價、惡意攻擊、薅羊毛等方面都能起到很關鍵的作用,所以每家公司都或多或少的需要開發(fā)一些爬蟲程序,業(yè)界在這方面的成熟的方案也非常多。
有矛就有盾,每家公司也相應的需要反爬蟲系統(tǒng)來達到數(shù)據(jù)保護、系統(tǒng)穩(wěn)定性保障、競爭優(yōu)勢保持的目的。
像安全與黑客從來都是相輔相成一樣。
爬蟲與反爬蟲也是在雙方程序員的斗智斗勇的過程不斷發(fā)展和成長的。
抓包
抓包的目的: 分析出協(xié)議請求使用的數(shù)據(jù),請求接口,參數(shù)等等。
常用的抓包分析工具:
- Fiddler
- Charles
- Sniffer
- Wireshark
具體使用策略,請自行百度,Google。
抓數(shù)據(jù)
使用 HttpClient 模擬請求
充分了解 HttpClient 的特性,使用方式等。
user_agent 的使用
使用 user_agent 的偽裝和輪換模擬不同的客戶端。
建立UserAgent池,可以通過以下地址獲取一定量的UserAgent的信息。
http://www.fynas.com/ua/search?b=Chrome&k=
代理IP的使用
建立代理ip池,一般使用的免費或收費代理獲取代理ip每秒都會有一定的頻率限制。
那么我們在使用的時候,就要在頻率限制內(nèi)建立自己內(nèi)部的一些策略,
當然這些策略建立在代理服務商的策略之上。因此設計實施時要考慮易維護性。
http代理
有些網(wǎng)站(包括APP、PC)具有一定的反爬蟲能力,
如拒絕代理ip直接請求接口:
這是我使用代理ip請求登錄接口時,某APP的響應:
CONNECT refused by proxy
而使用socks代理則無此問題。這就不得不要了解http代理和socks代理的區(qū)別。
socks代理
待續(xù)
設置訪問頻率
即便是使用了代理ip,那么對目標接口的訪問也要有一定的頻率控制,
防止目標服務方檢測出頻率過快,進行拒絕服務的響應。
Cookie 池失效和更新策略
獲取目標站點Cookie有效時間,
將對應賬號和Cookie存入Redis,
起一個任務對賬號Cookie進行定時檢測,
接近失效時間,進行提前更新Cookie信息,
具體Cookie 池Cookie的失效和更新策略需要根據(jù)自己業(yè)務進行適當調(diào)整。
防止目標方的分析
- 確保同一賬號的請求使用的是同一個UserAgent、同一個代理ip。
- 注意訪問頻率
- 其他
總而言之,就是模擬正常的客戶端發(fā)起對服務方的請求,偽裝的越像正常的客戶端,服務方越難分析出。
只要是服務方能夠提供服務,一般情況下都可以進行數(shù)據(jù)的爬取,
只不過是難易程度不同。
如果出于商業(yè)目的,要考慮付出的成本到底是否合適。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
全網(wǎng)最強下載神器IDM使用教程之利用IDM加速下載百度網(wǎng)盤大文件的方法
自從不限速度盤下載工具Pandownload被封殺后,有些網(wǎng)友紛紛表示:幸好我們還有IDM,但是很多朋友對IDM不是多了解,下面小編給大家介紹下下載神器IDM使用教程之利用IDM加速下載百度網(wǎng)盤大文件的方法,感興趣的朋友跟隨小編一起看看吧2023-01-01百度HI QQ和MSN 阿里旺旺貿(mào)易通MSN在線客服在線聊天代碼
有時候業(yè)務需要,需要讓客戶更方便的與我們溝通,就可以參考下面的代碼。2010-04-04解決使用IDE Run運行出錯package pack/test is not in GOROOT (/usr/loca
這篇文章主要介紹了解決使用IDE Run運行出錯package pack/test is not in GOROOT (/usr/local/go/src/pack/test),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11git?push?origin?HEAD:refs/for/master?的意思分析
這篇文章主要介紹了git?push?origin?HEAD:refs/for/master?的意思,補充介紹了git?提交代碼常用命令,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-01-01