一入爬蟲深似海,反爬技術你知多少?

1. 習慣性嘮叨點啥

  最近很久一段時間沒有更新文章了,堅持這個詞確實很重要,就跟我們學習一樣。但是對於很多身在職場又或在學校的朋友們來講的話,工作、學業繁忙確實少有精力跟時間能靜下來寫寫文章。有很多人覺得寫文章其實就是給自己看而已。其實不管是給自己或者是他人,用心創作最重要!爲什麼這麼說呢?用心的過程中你會發現你對知識的歸納、經驗的總結、技術的運用能力都在不斷的提升。我相信每一位作者的初心都是通過寫文章的方式去鞏固自身的知識點、記錄自己的學習過程、分享自己的學習方法與經驗。

  夜深的時候躺在牀上準備入睡的時候,拿起手機刷刷博客,會發現很多優秀的作者ta們的文章閱讀的時候無論從哪個方面都是很Nice的,我個人而言的話,還是比較傾向技術與生活或者技術與感悟結合在一起的文章。純技術輸出的文章講實話還是缺少些許樂趣吧,我看着的話容易犯困,雖然我們是程序員!畢竟在一個知識共享的平臺,創作文章總不能像自己平時記Liunx命令那樣吧,HaHa

其實我跟在座的各位DaLao一樣,一個在互聯網公司求生的程序員!工作佔據了大部分時間,爬蟲系列的文章雖未堅持及時更新,但是!每天工作歸嘎的我仍心繫遠方,希望有朝一日能實現財富自由、也同樣希望早日榮歸故里

我想未來我的文章裏並不只限於爬蟲技術文章更有Python領域的其他文章。當然還有這個圈子的感悟以及經歷!所以今天它來了,它帶着反爬、揣着夢想向你走來了!
反爬技術概覽圖

2. 什麼造就了爬蟲

  爬蟲一直伴你我左右,只不過近兩年伴隨着Python的熱度也慢慢鋒芒畢露。在而今眼目下的大數據時代,市場涌現了大批大數據公司。前兩年前大數據火得一塌糊塗(當然現在也很火)各行各業都在宣稱大數據是未來的趨勢,很多資本大佬涌進這波浪潮中佔領自己的一席之地。所以呢!爲什麼很多中小微企業招爬蟲職位的需求會比較多?而且你會發現薪資待遇很是誘人。數據是一家企業壯大的資本,但是!作爲一家大數據公司,數據在哪呢?

大佬:我們雖然沒有數據但是我們有爬蟲工程師呀!
What?是的,你沒有聽錯。ta說ta們有爬蟲團隊,你的站慌了嗎?另外偷偷告訴你們,有些大數據企業它擁有的數據量可能都沒有你大學四年收藏在U盤的資源多
大吃一驚表情包  作爲一個大數據公司,這麼點數據必然是不能推進整個公司的戰略佈局!這點數據量無法支持一家企業的野心,怎麼去忽悠投資爸爸?這個時候公司的先鋒小隊就要頂上去了,開始按需編寫爬蟲、拼命的採集各大站點的數據資源。很快這些數據不再是你大學四年所積累的那點資源能比擬的了。這些數據將是企業拉融資的資本、也同樣是後續戰略佈局展開的奠基石

3. 爲什麼要反爬蟲

  爬蟲作爲獲取數據的重要手段,早期起源於搜索引擎。但是搜索引擎它是一隻善意的爬蟲,可以檢索你的一切信息,並提供給其他用戶訪問。它們建立了robots君子協定,帶來的結果是雙贏!

看累了吧?講個段子給你聽聽如何?(漏出本性的笑容)

有三家公司,它們分別是電商A、電商B、電商C。有一天這個電商A的後臺人員發現很多流量查詢一個商品,但是並未生成訂單信息,那不就是根本沒購買咱們的商品呀。這是怎麼回事呢?難道是價格太高了嗎?要不咱們寫個爬蟲看看同行的這個數據信息?於是電商A的爬蟲工程師分別使用爬蟲拜訪了電商B跟電商C的網站。過了幾天!B跟C的後臺人員分別檢測到大量異常流量來襲,技術人員都感覺不可思議,沒有生成任何訂單卻訪問量這麼高?B跟C在同一時間想到另外兩家公司
技術負責人:肯定是他們兩家寫爬蟲來搞事,召集開發人員開會!
技術負責人:都騎到我們頭上來拉SHI了,這是對技術人員的鄙視!
前端&後臺開發人員:我們一定要報這個仇
第一個反爬上線…
電商A開發人員:第一天…哎鴨~封我IP?看我破你
第二天…哎鴨~封我賬號?看我破你
第三天…哎鴨~驗證碼、請求加密?

然而,做反爬的B、C公司技術人員加班天天研究如何攔截爬蟲。做爬蟲的A公司天天研究如何破解反爬蟲策略。三家公司就這麼把資源全都浪費在了這場較量中。最後通過某種途徑,三家公司的技術人員添加了彼此的聯繫方式,通過溝通最終都心平氣和的坐在一起某個咖啡館…
爬蟲抱怨:老哥,反爬能不能別更新這麼快?主要還整這麼多花樣?
反爬蟲抱怨:老哥,那你就不能少抓點嗎?或者限制一下頻率?

  但是!很快市場涌現了大量的僞君子。現在很多網站訪問量裏面正常用戶可以說很少。大部分來自爬蟲它們會加重網站服務器負擔、影響正常用戶訪問。嚴重一點甚至會造成DDos攻擊!站在商業的角度再去思量的話,這些流失的數據很有可能會成爲競爭對手的戰略資本。
  憑以上幾點,反爬蟲就有足夠的存在價值。網站爸爸自然不會讓爬蟲肆虐放縱!反爬蟲技術也奔向前線。不管是爬蟲工程師還是網站前後端開發人員來說,ta們都在履行着自己的使命,雙方之間的這場對決哪怕只是爲了證明“誰技術更強”
相互傷害啊
在爬蟲與反爬蟲的江湖裏,周而復始,輪迴不止~

4. 反反爬蟲的權重

  反反爬蟲重要嗎?在爬蟲工程師的職業生涯裏我的回答是:很重要、非常重要。可以看到現在市場對爬蟲職業的要求都會有:熟悉反爬機制、精通各種反爬…等要求。對於一名職業爬蟲開發人員來講的話,爬蟲就是他們的飯碗,想要吃這碗飯就需要面對這些問題並有能力處理這些問題。

5. 高級的反爬手段

  說到爬蟲技術的手段,很多人不僅僅是爬蟲工作者都知道常見的封IP。但是封IP這種手段有一個最大的缺點就是:誤傷。這個方法它的效果還很差,現在哪怕是入門級的新手寫爬蟲都知道使用IP池。這些資源並不用花費多大的成本,就更不用說免費的資源了。之後的發展趨勢有了我上圖的那些反爬技術

驗證碼反爬:這個反爬曾經可能是可行的,隨着技術的更新換代,帶來了機器學習,還有OCR。很多圖片驗證碼很多都能搞定!更何況在這個資本主義的時代,打碼平臺!瞭解一下~~

CSS加密+SVG映射反爬:前端女大佬上線!跟我比知識面?我們都知道從請求到數據響應展示不僅僅是後端的事。前端要處理大量的事,比如用CSS做一些渲染。另外JS可以玩出大量招式與花樣,一週一個Feature,365天裏面基本都不會帶重樣的。就問你爬蟲老哥!你遭得住嘛?

指紋反爬:今時今日出現了一種新的方法替代cookie可以來跟蹤用戶。在這兩年中,許多網站和跟蹤軟件都開始利用HTML5指紋。如果單單對於canvas指紋識別的話。可以利用它的原理實現破解,可以修改瀏覽器設置、更換瀏覽器、更換瀏覽器不同版本等系統環境,讓他失效。但是一般指紋識別會附加很多其他識別因素。再者!這個東西有一個缺陷就是無法驗證它的合法性。因其衝突概率非常高!因此,看似“高級”的操作有時候也不一定能實用哦。

我之前看到一個爬dzdp的哥們在論壇像各位爬友發出求救信號,大致內容是這樣的:
  現在dzdp的反爬機制是字符集映射和CSS加密兩種方式,這兩種方式是輪着來的,比如同一家店的第一頁評論是用的CSS,那麼第二頁或者其他頁就是映射,上午這個網頁可能用的CSS,下午就用的映射了,怎麼破啊??同情三分鐘…

其實CSS加密+SVG映射+字體反爬網上的教程基本都遍地能看到,解決思路也很明瞭,但是隨着被各路大佬破解以後的技術共享,不得不讓dzdp等其他網站的開發人員變着花樣的玩吶

我也很絕望
但是呢?所有的反爬蟲都會有被破解的一天,只不過是時間的問題。我這倒是有一招可破天底下各種反爬的奇招,不過又有點難以啓齒,是否採納各位自行斟酌!

如果你或者你的公司有礦的話,在印度、菲律賓、柬埔寨或者非洲開一個分公司!可以僱傭廉價的勞動力,怎麼操作呢?問得很好,就是像我們玩電腦一樣,用鼠標點就行了!哪個網站都不好使,能拿你怎麼辦?

6. 爬蟲的發展方向

  學習爬蟲的話,如果只是爬爬小網站,當作學習、愛好的的話,當然,它不難!如果是想當飯碗,那麼學習到可以吃飯的境界,還是很難的!你將要迎接的爬蟲生涯第一個難點就是如何對付反爬機制!後面還需要學習多進程、多線程爬蟲、分佈式爬蟲等等

任何爬蟲工程師,只搞爬蟲,只要專研得夠深,你的爬蟲:功能很強大、性能很高、擴展性很好…那麼還是很有前途的。

之前文章也有提到過複合型人才是市場最吃香的核心競爭人才。爬蟲人員可以試着往大數據方向發展,爬蟲並不僅僅侷限於爬取數據,數分、數挖、機器學習等方面發展,前途也是不可限量的!

如果只搞爬蟲的話,技術又只停留在當前水平的話。不再學習新知識,不再進步的話,那麼是沒有前途的,總有一天會被時代淘汰。

很多時候我也充滿了這個時代的危機感!也在迷茫着未來的方向!在往後的日子裏我會更好的鞭策自己,充實自己。讓我們在未來的日子裏有更多的選擇與機會!希望我們一同進步、一同努力、擁有更好的人生、擁有更好的生活。加油!

7. 致謝

好了,到這裏又要跟大家說再見的時候了。我只是一個會寫爬蟲的段子手而已,希望我的文章能帶給您知識,帶給您歡笑!同是也謝謝您能抽出寶貴的時間閱讀,創作不易,如果您喜歡的話,點個關注再走吧。您的支持是我創作的動力,希望今後能帶給大家更多優質的文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章