日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫技术基础

發布時間:2023/11/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫技术基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?爬蟲的簡單介紹。


爬蟲,即spider,是一種按一定規則,自動從網絡上抓取并提取特定信息的程序或者腳本。


互聯網絡,浩瀚無際,頁面紛繁,包羅萬象,直接導致信息的過載,人無法用雙手雙眼,從中提取我們感興趣有價值的內容。信息處理自動化的迫切需求導致了爬蟲的產生和廣泛應用。


對協議的分析還原而言,不僅僅是從流量中分析特定的數據,我們的眼光,應更具前瞻性,被動地分析流量,工作永遠無止境,使用爬蟲技術,能極大地增強協議分析還原的格局與格調,同時,也是提升協議還原系統數據處理能力的有效手段。在協議還原領域,智能化,自動化,不僅僅是口號,而是時時刻刻的需求,爬蟲,是手段之一,是系統提升的必經之路。


本文對爬蟲的原理和基礎進行簡單的介紹,后續將會有文章對爬蟲技術進行實戰演練,各位可提早學習爬蟲中廣泛使用的語言之一,如Python,以便同步實戰。


01

基本原理


一般來說,爬蟲是從特定網頁開始,獲取頁面上的URL,然后加入爬取隊列,一直循環直至滿足特定停止條件。隨著進化,新的爬蟲種類出現,它帶有特定任務,也是從特定頁面開始,但會對網頁內容進行深入分析,僅抓取符合特定條件的URL內的數據,并對符合要求的數據進行存儲,直至系統達到特定條件停止。


從上述描述可知,一般的爬蟲會包括如下幾個部分:網絡數據請求及流程控制、內容分析提取、有效數據存儲。


通常,爬蟲的實現,需要了解網站或者APP的架構和邏輯,然后根據頁面的相關信息,進行動態的數據構造和收發。


我們這里討論的爬蟲,是對特定數據進行爬取的爬蟲。


一個最簡單的爬蟲實現,我們可以借助wget庫,使用批處理程序,來對特定網站的特定頁面,如金采網這類政府網站內的通知公告等信息的爬取,不需要復雜的技術。


02


技術現狀


爬蟲是用編程語言實現的,同時,會借助各種工具,目前,在網絡中流行廣泛被用于爬蟲編寫的語言是python,它有很多庫可供使用,例如,BeautifulSoup、scrapy等


在一些特定的系統中,會使用C/C++作為編程語言,來實現特定任務的爬蟲。


還有些人,會使用java等語言來實現爬蟲。


總之,哪個語言對實現所需的爬蟲效率最高,我們就選擇相應的語言來實現爬蟲。


目前,爬蟲基本上都是對網站進行爬取,即主要進行HTTP/HTTPS的操作,當然,還有小眾的爬蟲,對一些APP的內容進行爬取,這些,除HTTP/HTTPS操作外,還有部分TCP/UDP的操作,稍微復雜點


對各類數據的爬取,需要模擬特定場景,如瀏覽器訪問,APP訪問等,模仿得越逼真,爬取效果會越好。


我們的爬蟲,一般在PC上,滿足特定的條件,即可運行,更多的是運行在VPS或者服務器上。


03


學習前提

HTTP請求及響應

HTTP是互聯網的基礎,一個HTTP對由一個請求和一個響應組成,請求和響應都分成HTTP頭部和HTTP體兩個部分,其中請求頭部包含請求的URL及各類頭數據,而響應體部分則包含頁面的主要內容。


分析清楚HTTP請求和響應間的關系,就能夠根據需求對爬蟲進行實現了。


對爬蟲而言,需要關注URL、UA、Cookies及內容的幾個方面。


對協議還原而言,HTTP是最基礎的協議,不可避免地每個人都會接觸到,本號內之前也介紹個HTTP協議相關的內容及實例,可以作為了解HTTP請求和響應的參考,如:

干貨!鏈家二手房數據抓取及內容解析要點

Wireshark分析實戰:某達速遞登錄帳號密碼提取

協議分析實戰:某航某凰知音用戶名及密碼提取

使用Fiddler進行HTTP流量分析

裸奔的支付X聊天,你還敢用嗎?

使用Fiddler抓取手機HTTP流量包


HTML

HTML即網頁的設計語言,一個網站是由一系列固定和臨時的HTML頁面組成的,了解了HTML之后,就能很方便地對特定內容進行提取了。爬蟲中對內容的分析和提取,主要就是對HTML頁面的提取。


對HTML的解析,在Python中可以使用BeautifulSoup庫,其安裝可以參考:

Windows下Python 3.6 安裝BeautifulSoup庫


對HTML的學習,可以參考w3school網站的相關內容。


JavaScript

JavaScript是一種解釋型語言,通常在網站設計中使用,用來進行交互信息的生成和獲取。爬蟲中對內容的分析提取的另一部分,就是對JavaScript的信息計算和構造。


同樣的,對其學習,可以參考w3school網站的相關內容。


04


爬取難點


爬蟲作為一種模仿瀏覽器交互的自動化程序,不可避免地會遇到一些問題,典型的問題有:

網站反爬蟲措施

網站會對爬蟲進行一定的限制,例如對包含一些特征的請求進行拒絕,對一些頻繁請求的IP進行限制訪問。這需要使用一定的策略和手段來處理,后續將會在相關文章中講到。


交互的模仿

對各個不同的網站,需要執行的請求方式各不相同,有些可能是根據一定順序執行特定操作,有些需要根據前后操作的結果進行不同處理,這需要在爬蟲的設計中考慮到。這個交互,考驗的是對網站的結構的理解,對有一定協議分析能力的朋友來說,這不會太難。


動態腳本的解析

部分網站,需要根據JavaScript等對內容進行解析,這需要對相關代碼有一定的理解能力,考驗的是編程水平,這只能靠我們自己在實戰中提高了。


在后續,我將通過實戰的方式,和大家一起深入了解爬蟲的世界,有需求,盡管提,隨時聯系。

長按進行關注。





總結

以上是生活随笔為你收集整理的爬虫技术基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:爬虫技术基础