国产精品主播一区二区-国产一级不卡毛片-日本少妇中出-国产视频第二页-青草精品视频-亚洲熟妇丰满多毛xxxx-日韩福利在线-成年人免费观看在线视频-久久久www-91在线视频观看无毒不卡-999国产精品-91久久爽久久爽爽久久片-和搜子居同的日子2hd高清看-鬼眼 电影-中文在线精品-综合网久久-国产精品美女久久久久久

如何用ip代理打造爬蟲框架

第一,為什么要造輪子?
 
有興趣的同學(xué)可以去各大招聘網(wǎng)站看一看爬蟲工程師的要求。大部分都是JAVA,PYTHON甚至NODEJS,C++,或者在開源中國查詢C#的爬蟲。只有幾個(gè)很簡單的項(xiàng)目幾年沒更新了。從我看的一些文章來看,就純性能而言,PYTHON與JAVA相比并不處于弱勢。況且根據(jù)我多年的開發(fā)經(jīng)驗(yàn),大部分爬蟲的性能瓶頸都是并發(fā)下載(網(wǎng)速)和IP池,所以我覺得用C#寫一個(gè)爬蟲框架是絕對可行的。為什么我的大?NET有強(qiáng)大的爬蟲框架嗎?老實(shí)說,我不知道??赡芘老x框架核心比較簡單,大牛不喜歡。也許吧。NET開發(fā)人員沒有其他語言的開發(fā)人員勤奮,也沒有。NET沒有其他語言高。隨著……的宣布。NET開源新聞,我覺得是時(shí)候開發(fā)一個(gè)跨平臺(tái)跨語言的爬蟲框架了。我不喜歡復(fù)雜的事情。我一直覺得復(fù)雜的事情容易出問題,可能跟我個(gè)人能力有限,控制不了有關(guān)。所以在設(shè)計(jì)DotnetSpider的時(shí)候,我參考了JAVA下一個(gè)輕量級(jí)爬蟲框架webmagic,但是我絕對有自己的理解和改進(jìn)。
 
 
二、框架設(shè)計(jì)
 
其實(shí)我覺得爬蟲的設(shè)計(jì)已經(jīng)相當(dāng)成熟了,大部分都會(huì)拿出下面的圖來說事。由于我是參考webmagic,所以要貼出來給大家看看(圖片直接取自webmagic)。
 
調(diào)度器:負(fù)責(zé)URL的調(diào)度,可以實(shí)現(xiàn)如queue、priority scheduler、redisscheduler(可用于分布式)等等。
 
下載器:負(fù)責(zé)下載HTML,如HttpDownloader、瀏覽器下載器(web驅(qū)動(dòng))、Fiddler下載器、本地文件下載器等。
 
PageProcesser:負(fù)責(zé)HTML解析和符合規(guī)則的新URL解析。從上圖可以看出,傳入處理器的Page對象包含了下載的完整HTML或JSON數(shù)據(jù)。
 
管道:負(fù)責(zé)數(shù)據(jù)存儲(chǔ),如MySql、MySqlFile、MSSQL、MongoDb等。
 
第三,與其他爬行動(dòng)物的區(qū)別
 
用JSON來定義crawler,這樣就可以最終實(shí)現(xiàn)跨語言(只需要為不同的語言編寫一個(gè)JSON轉(zhuǎn)換的provider)
 
因?yàn)槭褂肑SON進(jìn)行解析,所以可以實(shí)現(xiàn)一個(gè)類中的屬性是其他類(只有MongoDB,在關(guān)系數(shù)據(jù)庫中不容易存儲(chǔ))。
 
自動(dòng)建表
 
有一個(gè)版本的。NET核心,所以可以跨平臺(tái)(很多任務(wù)已經(jīng)在LINUX下運(yùn)行)
 
由于IP代理的不穩(wěn)定性,沒有仔細(xì)測試和使用代理模塊,而是實(shí)現(xiàn)了另一種IP切換方式(ADSL撥號(hào))。
 
添加基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊。
 
第四,最基本的使用方法
 
最基本的使用方法是不需要參考Extension,只需要參考Common,Core,JLog,然后需要自己實(shí)現(xiàn)IPipeline和Processer。
 
使用我們的代理云有什么優(yōu)勢?
 
1分布式代理IP數(shù)萬個(gè)代理IP節(jié)點(diǎn)分布在全國各省市,沒有重復(fù)的IP段。
 
支持多線程和高并發(fā)。
 
家庭寬帶線路所有資源來自家庭寬帶終端,IP綠色純凈,適用于所有項(xiàng)目。
 
多許可證使用代理IP時(shí),需要用戶名密碼或IP白名單綁定,后臺(tái)可自由切換。
 
5長效+HTTPS所有代理IP都支持HTTPS協(xié)議,代理IP平均使用時(shí)間在沒有客戶端支持的情況下長達(dá)4小時(shí)。

 

浦县| 迁安市| 西乌珠穆沁旗| 镇江市| 报价| 勐海县| 南部县| 姜堰市| 陇南市| 元谋县| 武功县| 高邮市| 峨边| 贡嘎县| 江安县| 平泉县| 肇东市| 阿勒泰市| 道孚县| 砚山县| 榆社县| 阳泉市| 克什克腾旗| 阳谷县| 张家界市| 集贤县| 罗平县| 枣庄市| 繁峙县| 政和县| 府谷县| 垦利县| 卢氏县| 谷城县| 溧水县| 四会市| 页游| 许昌市| 右玉县| 平南县| 陆川县|