Linux企業級專案實踐之網路爬蟲(17)——儲存頁面
在爬蟲系統中資料的流量相當大,要處理的資料內容不僅包括爬蟲系統的各種資料結構空間,而且包括從外部節點中得到的各種資料,比如HTTP請求,HTML頁面,ROBOT.TXT等等。如果對這些內容處理不當,那麼不僅造成空間的冗餘浪費,使爬蟲程式效率降低,而且還可能會使系統崩潰。所以,要有合適的空間分配策略。
空間分配與管理方案。
在記憶體中使用緩衝空間,以快速的得到、儲存資料。
統一各種請求的結構,應該合理利用並在每次用完後進行回收。比如,ROBOT.TXT檔案,HTTP請求頭及相應的應答。這種方式,在站點數目數量相當龐大的情況下,非常有必要。
空間分配與管理方案。
在記憶體中使用緩衝空間,以快速的得到、儲存資料。
統一各種請求的結構,應該合理利用並在每次用完後進行回收。比如,ROBOT.TXT檔案,HTTP請求頭及相應的應答。這種方式,在站點數目數量相當龐大的情況下,非常有必要。
在頁面的抓取部分和儲存部分之間設定合適的介面,直接進行資料交換,從而使系統不必分配更多的空間來緩衝資料。資料緩衝功能由儲存部分內部實現。
static int handler(void * data) {
Response *r = (Response *)data;
if (strstr(r->header->content_type, "text/html") == NULL)
return MODULE_ERR;
char *fn = url2fn(r->url);
int fd = -1;
if ((fd = open(fn, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) {
return MODULE_ERR;
}
int left = r->body_len;
int n = -1;
while (left) {
if ((n = write(fd, r->body, left)) < 0) {
// error
close(fd);
unlink(fn);
free(fn);
return MODULE_ERR;
} else {
left -= n;
}
}
close(fd);
free(fn);
return MODULE_OK;
}
相關文章
- 網路爬蟲專案爬蟲
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- Python靜態網頁爬蟲專案實戰Python網頁爬蟲
- 網路爬蟲(python專案)爬蟲Python
- 專案--python網路爬蟲Python爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python網路爬蟲實戰專案大全!Python爬蟲
- 【0基礎學爬蟲】爬蟲基礎之檔案儲存爬蟲
- 企業資料爬蟲專案爬蟲
- 【Python3網路爬蟲開發實戰】5-資料儲存-1 檔案儲存-2 JSON檔案儲存Python爬蟲JSON
- 2019最新《網路爬蟲JAVA專案實戰》爬蟲Java
- 【Python3網路爬蟲開發實戰】5-資料儲存-1 檔案儲存-1 TXT文字儲存Python爬蟲
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- Python網路爬蟲之爬取淘寶網頁頁面 MOOC可以執行的程式碼Python爬蟲網頁
- 企業資料爬蟲專案(二)爬蟲
- Python爬蟲教程-14-爬蟲使用filecookiejar儲存cookie檔案(人人網)Python爬蟲CookieJAR
- 精通Scrapy網路爬蟲【一】第一個爬蟲專案爬蟲
- React17+React Hook+TS4 最佳實踐 仿 Jira 企業級專案ReactHook
- python網路爬蟲--專案實戰--scrapy嵌入selenium,晶片廠級聯評論爬取(6)Python爬蟲晶片
- [網路爬蟲] 網路爬蟲實踐:大麥網演唱會預約搶票 【待續】爬蟲
- 網路爬蟲——專案實戰(爬取糗事百科所有文章)爬蟲
- 網路爬蟲——爬蟲實戰(一)爬蟲
- Python爬蟲開發與專案實踐(3)Python爬蟲
- 企業儲存分級
- 【0基礎學爬蟲】爬蟲基礎之資料儲存爬蟲
- 最新《30小時搞定Python網路爬蟲專案實戰》Python爬蟲
- Python爬蟲之使用MongoDB儲存資料Python爬蟲MongoDB
- 網路爬蟲專案開發日誌(三):爬蟲上線準備爬蟲
- 精通 Python 網路爬蟲:核心技術、框架與專案實戰Python爬蟲框架
- 104個實用網路爬蟲專案資源整理(超全)爬蟲
- 《網頁爬蟲》網頁爬蟲
- 課程設計:python_網路爬蟲專案Python爬蟲
- 爬蟲實戰專案集合爬蟲
- 爬蟲專案實戰(一)爬蟲
- 爬蟲實戰專案合集爬蟲
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- 企業雲盤專業級分散式儲存伺服器分散式伺服器
- 視訊教程-Python網路爬蟲開發與專案實戰-PythonPython爬蟲