Linux企業級專案實踐之網路爬蟲(13)——處理user-agent
User Agent即使用者代理,是Http協議中的一部分,屬於頭域的組成部分,User Agent也簡稱UA。它是一個特殊字串頭,是一種向訪問網站提供你所使用的瀏覽器型別及版本、作業系統及版本、瀏覽器核心、等資訊的標識。通過這個標識,使用者所訪問的網站可以顯示不同的排版從而為使用者提供更好的體驗或者進行資訊統計。
瀏覽器的UA字串的標準格式:瀏覽器標識 (作業系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識版本資訊。但各個瀏覽器有所不同。
字串說明:
1、瀏覽器標識
出於相容及推廣等目的,很多瀏覽器的標識相同,因此瀏覽器標識並不能說明瀏覽器的真實版本,真實版本資訊在 UA 字串尾部可以找到。
N: 表示無安全加密
I: 表示弱安全加密
U: 表示強安全加密
4、瀏覽器語言
在首選項 > 常規 > 語言中指定的語言
5、渲染引擎
顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式為:渲染引擎/版本資訊
6、版本資訊
瀏覽器的UA字串的標準格式:瀏覽器標識 (作業系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識版本資訊。但各個瀏覽器有所不同。
字串說明:
1、瀏覽器標識
出於相容及推廣等目的,很多瀏覽器的標識相同,因此瀏覽器標識並不能說明瀏覽器的真實版本,真實版本資訊在 UA 字串尾部可以找到。
2、作業系統標識
N: 表示無安全加密
I: 表示弱安全加密
U: 表示強安全加密
4、瀏覽器語言
在首選項 > 常規 > 語言中指定的語言
5、渲染引擎
顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式為:渲染引擎/版本資訊
6、版本資訊
顯示瀏覽器的真實版本資訊,格式為:瀏覽器/版本資訊
int send_request(int fd, void *arg)
{
int need, begin, n;
char request[1024] = {0};
Url *url = (Url *)arg;
sprintf(request, "GET /%s HTTP/1.0\r\n"
"Host: %s\r\n"
"Accept: */*\r\n"
"Connection: Keep-Alive\r\n"
"User-Agent: Mozilla/5.0 (compatible; Qteqpidspider/1.0;)\r\n"
"Referer: %s\r\n\r\n", url->path, url->domain, url->domain);
need = strlen(request);
begin = 0;
while(need) {
n = write(fd, request+begin, need);
if (n <= 0) {
if (errno == EAGAIN) { //write buffer full, delay retry
usleep(1000);
continue;
}
SPIDER_LOG(SPIDER_LEVEL_WARN, "Thread %lu send ERROR: %d", pthread_self(), n);
free_url(url);
close(fd);
return -1;
}
begin += n;
need -= n;
}
return 0;
}
相關文章
- 網路爬蟲專案爬蟲
- Python網路爬蟲實戰專案大全 32個Python爬蟲專案demoPython爬蟲
- 網路爬蟲(python專案)爬蟲Python
- 專案--python網路爬蟲Python爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python網路爬蟲實戰專案大全!Python爬蟲
- 企業資料爬蟲專案爬蟲
- 2019最新《網路爬蟲JAVA專案實戰》爬蟲Java
- Java 爬蟲專案實戰之爬蟲簡介Java爬蟲
- 企業資料爬蟲專案(二)爬蟲
- 精通Scrapy網路爬蟲【一】第一個爬蟲專案爬蟲
- 如何處理識別出的網路爬蟲爬蟲
- python網路爬蟲--專案實戰--scrapy嵌入selenium,晶片廠級聯評論爬取(6)Python爬蟲晶片
- [網路爬蟲] 網路爬蟲實踐:大麥網演唱會預約搶票 【待續】爬蟲
- 網路爬蟲——專案實戰(爬取糗事百科所有文章)爬蟲
- 網路爬蟲——爬蟲實戰(一)爬蟲
- Python爬蟲開發與專案實踐(3)Python爬蟲
- 動態ip代理:反網路爬蟲之設定User-Agent的常規方法爬蟲
- 最新《30小時搞定Python網路爬蟲專案實戰》Python爬蟲
- 網路爬蟲專案開發日誌(三):爬蟲上線準備爬蟲
- python爬蟲之處理驗證碼Python爬蟲
- 精通 Python 網路爬蟲:核心技術、框架與專案實戰Python爬蟲框架
- 104個實用網路爬蟲專案資源整理(超全)爬蟲
- 課程設計:python_網路爬蟲專案Python爬蟲
- 爬蟲實戰專案集合爬蟲
- 爬蟲專案實戰(一)爬蟲
- 爬蟲實戰專案合集爬蟲
- Python靜態網頁爬蟲專案實戰Python網頁爬蟲
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- python網路爬蟲應用_python網路爬蟲應用實戰Python爬蟲
- 視訊教程-Python網路爬蟲開發與專案實戰-PythonPython爬蟲
- Python網路爬蟲實戰Python爬蟲
- 爬蟲專案:大麥網分析爬蟲
- 網路爬蟲之抓取郵箱爬蟲
- 爬蟲專案爬蟲
- 001.01 一般網頁爬蟲處理網頁爬蟲
- Python爬蟲js處理Python爬蟲JS
- python爬蟲實操專案_Python爬蟲開發與專案實戰 1.6 小結Python爬蟲
- 推薦13個.Net開源的網路爬蟲爬蟲