Linux企業級專案實踐之網路爬蟲(15)——區分文字檔案和二進位制檔案
HTTP協議支援文字和二進位制檔案傳輸。最常見的html格式的頁面即文字,圖片、音樂等為二進位制檔案。我們要對這兩類檔案加以區分並分別處理。
static char * BIN_SUFFIXES = ".jpg.jpeg.gif.png.ico.bmp.swf";
static int is_bin_url(char *url)
{
char *p = NULL;
if ((p = strrchr(url, '.')) != NULL) {
if (strstr(BIN_SUFFIXES, p) == NULL)
return 0;
else
return 1;
}
return 0;
}
char * attach_domain(char *url, const char *domain)
{
if (url == NULL)
return NULL;
if (strncmp(url, "http", 4) == 0) {
return url;
} else if (*url == '/') {
int i;
int ulen = strlen(url);
int dlen = strlen(domain);
char *tmp = (char *)malloc(ulen+dlen+1);
for (i = 0; i < dlen; i++)
tmp[i] = domain[i];
for (i = 0; i < ulen; i++)
tmp[i+dlen] = url[i];
tmp[ulen+dlen] = '\0';
free(url);
return tmp;
} else {
//do nothing
free(url);
return NULL;
}
}
char * url2fn(const Url * url)
{
int i = 0;
int l1 = strlen(url->domain);
int l2 = strlen(url->path);
char *fn = (char *)malloc(l1+l2+2);
for (i = 0; i < l1; i++)
fn[i] = url->domain[i];
fn[l1++] = '_';
for (i = 0; i < l2; i++)
fn[l1+i] = (url->path[i] == '/' ? '_' : url->path[i]);
fn[l1+l2] = '\0';
return fn;
}
相關文章
- C語言實現檔案複製功能(包括文字檔案和二進位制檔案)C語言
- 判斷檔案為文字檔案還是二進位制檔案(C語言實現)C語言
- MySQL二進位制檔案(binlog)MySql
- 如何將日誌檔案和二進位制檔案快速匯入HDFS?
- 二進位制檔案和符號檔案(PDB)如何校驗是否匹配符號
- 企業資料爬蟲專案(二)爬蟲
- 【Linux】檢視二進位制檔案內容_hexdumpLinux
- 二進位制檔案視覺化(二)視覺化
- Git處理二進位制檔案Git
- 檔案操作(二進位制拷貝)
- 網路爬蟲專案爬蟲
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- 網路爬蟲(python專案)爬蟲Python
- 專案--python網路爬蟲Python爬蟲
- 文盤Rust -- 如何把配置檔案打包到二進位制檔案裡Rust
- 二進位制檔案記憶體對映記憶體
- 二進位制檔案安裝安裝etcd
- 介面返回二進位制檔案的下載。
- 企業資料爬蟲專案爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python網路爬蟲實戰專案大全!Python爬蟲
- C++ 讀取二進位制檔案到char*C++
- 檢視寶塔mysql二進位制檔案 mysqlbinlogMySql
- 6.3建立自己執行的二進位制檔案
- golang: 給二進位制檔案增加版本資訊Golang
- 2019最新《網路爬蟲JAVA專案實戰》爬蟲Java
- 二進位制陣列實戰 – 純前端匯出Excel檔案陣列前端Excel
- 二進位制陣列實戰 - 純前端匯出Excel檔案陣列前端Excel
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- C#讀取文字檔案和寫文字檔案C#
- od 轉儲 二進位制檔案常用命令
- flutter-讀寫二進位制檔案到裝置Flutter
- 前端怎麼處理二進位制檔案下載前端
- mysqlbinlog 處理二進位制日誌檔案的工具MySql
- 在Linux中,如何將二進位制檔案新增到 $PATH 變數中?Linux變數
- CentOS6.5二進位制檔案安裝MySQL5.6.39CentOSMySql
- 使用 IDA 處理 U-Boot 二進位制流檔案boot
- office檔案格式複合文件二進位制結構解析
- 根據介面返回的二進位制流匯出檔案