網路爬蟲概念:是乙個軟體機械人,是可控的,可以按照一定的規則從網際網路上抓取我們所需的資源。目前比較出名的開源爬蟲有labin、nutch、neritrix,詳見:
爬蟲流程:分為配置檔案處理模組、url維護模組和任務排程模組。
配置檔案模組:是以檔案形式儲存程式執行時必要的引數,減少輸入時的繁瑣過程。檔案型別是文字檔案,內容一般以鍵值對形式出現,主要負責從配置檔案中讀取配置項,提供配置項的提取介面;
url維護模組:負責維護url庫,進行url入隊、出隊、去重,負責維護url的抓取狀態
http協議請求頁面時的流程:
1、輸入**
2、向dns傳送解析請求
3、dns返回給我們乙個對應的ip位址
4、通過ip位址向資源所在的主機傳送請求
5、如果資源存在,主機返回200狀態,同時返回資料部分
6、本地http客戶端(一般來說是瀏覽器)接收資料
7、得到資源
頁面抓取流程:任務排程模組:負責呼叫其他系統模組協調控制器完成工作。
socket功能框架設計
1、初始化socket
2、向伺服器傳送請求
3、接受伺服器反饋的資料
4、設定socket模式
http協議處理模組
1、解析頭
2、組裝頭
功能:負責解析html頁面,提取url,將未抓取的url加入到待抓取url佇列
html解析模組:
功能:負責將相應資源儲存到本地磁碟
文字檔案儲存模組:儲存html頁面
二進位制檔案儲存模組:儲存等資源
基於golang的網路爬蟲框架
這是乙個用go語言實現的網路爬蟲框架,本框架的核心在於可定製和可擴充套件,使用者可以根據自己的需要定製各個模組,同時,也給出了乙個實現demo供參考。go語言的初學者也可以通過這個專案熟悉go語言的各種特性,尤其是併發程式設計。1 排程器主體 主要用於啟動和停止整個系統,並且從中獲取一些系統執行的狀...
基於python的網路爬蟲初探
toc基於python的網路爬蟲學習筆記1 常用的主要有兩個庫 1 urllib庫。urllib庫是python內建的http請求庫,可以直接使用。2 requests庫。requests庫是用python語言編寫的。它比更加方便,使用它可以節約我們大量的工作,完全滿足http的測試需求。簡單易用。...
基於hadoop的網路爬蟲設計1 0
一。用hadoop作網路爬蟲的原因 爬蟲程式的海量計算特性要求必須要用分布式方式來實現。一般爬蟲爬取的是整個網際網路上的所有或部分資料,這個資料量一般是p byte級,至少也是t byte級,因此用分布式的方式來獲取這是不二之選。在眾多的分布式計算框架裡hadoop絕對是個中翹楚,從hadoop的使...