關閉

                  爬蟲相關技術,真的只有這么簡單?(下)

                  發表于:2021-10-22 09:54

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:psspider    來源:思否

                  #
                  爬蟲
                    開源爬蟲的框架、程序
                    這里列舉一些比較有名的爬蟲項目,有些我用過,有些沒用過。我平時工作環境是 .net ,對python爬蟲也略有研究。
                    1.Scrapy , 非常有名的Python爬蟲項目,用戶數非常多,文檔做的也很棒。
                    2.Nutch ,Java的,它其實是一個搜索引擎項目,包含了搜索和Web爬蟲兩個部分。 沒用過。
                    3.NCrawler, .net 寫的。 架構和代碼都很棒,建議想學習 .net 爬蟲的同學,多研究?上]用文檔
                    Scrapy 額外點評, 在我大概讀了下它的源碼后,我覺得 Scrapy 在一些地方還是很不錯的,比如回調模型。  但是它太臃腫了。對于一個垂直爬蟲框架來說的,有很多不必要的設計,比如下載器、中間件。
                    暫且就列這幾個, 歡迎各位同學補充!

                    除了學習爬蟲框架,還需要學習哪些技術?
                    1. HTTP協議
                    主要的包括GET、POST方法。 各種類型Header的了解 ,包括Referer、User-Agent、Cookie、Accept、Encoding、Content-Type等等。
                    了解各種HTTP狀態碼的含義,常見的狀態碼比如 200表示正常; 301表示重定向,同時會返回新的URL;404表示頁面不存在;5xx表示服務器端錯誤
                    了解Cookie的構成,原理。

                    2. HTML
                    HTML基礎知識,了解HTML常用元素, 比如A、IMG等等。
                    了解URL的構成,路徑、參數,絕對路徑、相對路徑。
                    編碼相關,HTML charset, HTML EncodeDecode,URL EncodeDecode,JS EncodeDecode。

                    3. 瀏覽器相關
                    HTTP協議、HTML其實都是瀏覽器相關的。
                    了解瀏覽器,從你輸入一個URL,到看到完整的網頁,中間發生了什么。相關知識點: URL、DNS、HTTP、Web Server、HTML、JS、CSS、DOM樹、JS引擎等等。
                    其中DOM樹、JavaScript相關知識對于爬蟲來說還是相當重要的。有些時候需要反解JS。

                    4. 抓包技術
                    常用抓包工具,比如Fiddler、瀏覽器的F12、Wireshark、Microsoft Network Monitor。后面2個屬于TCP級別,用的較少。
                    通過學習抓包工具使用,可以幫你更好的學習HTTP協議、瀏覽器相關知識。
                    這里強烈、重點推薦 Fiddler。
                    大概說下幾個常用功能吧, 抓包、保存包數據、Composer(構造HTTP請求)、AutoResponser(自動響應HTTP)、FidderScript 通過編寫腳本定制程序、修改HTTP包。
                    如果你是 .net 技術相關的,建議反編譯下,讀下源代碼,HTTP協議你就搞定啦。它還提供了 FiddlerCore 庫讓你可以編寫自己抓包程序。

                    反爬蟲技術
                    有爬蟲,當然就有反爬蟲技術啦。 他們倆一直處于一個對抗、共存的狀態。 這是一個非常有意思的過程,對于一些爬蟲從業、愛好者來說。
                    通常來說,只要你想爬,沒有爬取不到的數據,就看你的資源和技術了。 不論是網站還是APP。
                    下面列舉下常見幾種反爬蟲技術:
                    ·useragent、referer 等常見反爬蟲技術(低級)
                    ·需要登錄 cookie,
                    ·封 IP ,限制 IP 訪問頻率
                    ·驗證碼,包括圖像驗證碼、拖動驗證碼等等
                    ·瀏覽器端 Javascript 混淆 ajax 參數
                    ·其他如 token、隨機數
                    沒關系,雖然反爬技術多,但是只是增加你的成本而已。 不過網站也是有代價的,有些反爬會損害用戶體驗的。

                    有意思的事情:
                    許多大的互聯網公司,會同時有爬蟲部門和反爬蟲部門。哈哈哈,是這樣的,爬蟲部門用來爬別人家的數據,
                    反爬部門用來屏蔽別人家的爬蟲咯!  舉個例子,就像之前的58和趕集(不過現在他們合并了)。

                    有意思的項目:
                    一步采集  通過算法,計算出一個網頁中列表、分頁地址。類似于 正文識別 算法。
                    這個技術對于需要做大量垂直爬蟲的人來說,就很有用圖。不用再編寫XPath、正則表達式。

                    本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲