網路爬蟲十二 儲存頁面

2021-07-29 17:26:08 字數 619 閱讀 1647

在爬蟲系統中資料的流量相當大,要處理的資料內容不僅包括爬蟲系統的各種資料結構空間,而且包括從外部節點中得到的各種資料,比如http請求,html頁面,robot.txt等等。如果對這些內容處理不當,那麼不僅造成空間的冗餘浪費,使爬蟲程式效率降低,而且還可能會使系統崩潰。所以,要有合適的空間分配策略。

空間分配與管理方案。

在記憶體中使用緩衝空間,以快速的得到、儲存資料。

統一各種請求的結構,應該合理利用並在每次用完後進行**。比如,robot.txt檔案,http請求頭及相應的應答。這種方式,在站點數目數量相當龐大的情況下,非常有必要。

在頁面的抓取部分和儲存部分之間設定合適的介面,直接進行資料交換,從而使系統不必分配更多的空間來緩衝資料。資料緩衝功能由儲存部分內部實現。

static

int handler(void * data)

int left = r->body_len;

int n = -1;

while (left) else

} close(fd);

free(fn);

return

module_ok;

}

網路爬蟲(2) 儲存

目前我想到的儲存方案有兩種 單檔案單頁面儲存和單檔案多頁面儲存。單檔案單頁面儲存就是乙個頁面儲存在乙個檔案中,檔名稱可以使用頁面編號doc id。這種方案查詢的時候容易定位,直接使用檔名就可以,缺點是會產生大量瑣碎的檔案,管理 冗餘和查詢感覺都不太方便。單檔案多頁面儲存即乙個檔案儲存多個頁面,寫滿乙...

網路爬蟲的採集,處理,儲存

爬蟲 coding utf 8 import mysql,sys import time import socket import random import mysqldb from queue import queue from threading import thread from bs4 ...

python網路爬蟲 資料儲存之CSV

csv comma separated values,逗號分隔值 是儲存 資料的常用檔案格式。很多應用都支援csv格式,因為它很簡潔,下面就是乙個csv檔案的例子 fruit,cost banana,0.30 pear,1.25 python的csv庫可以非常簡單地修改csv檔案,甚至從零開始建立乙...