亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

.Net開源網絡爬蟲Abot介紹

2019-11-14 16:38:42
字體:
來源:轉載
供稿:網友

.Net中也有很多很多開源的爬蟲工具,abot就是其中之一。Abot是一個開源的.net爬蟲,速度快,易于使用和擴展。項目的地址是https://code.google.com/p/abot/

對于爬取的Html,使用的分析工具是CsQuery, CsQuery可以算是.net中實現的Jquery, 可以使用類似Jquery中的方法來處理html頁面。CsQuery的項目地址是https://github.com/afeiship/CsQuery

一. 對Abot爬蟲配置

1. 通過屬性設置

先創建config對象,然后設置config中的各項屬性:

CrawlConfiguration crawlConfig = new CrawlConfiguration(); crawlConfig.CrawlTimeoutSeconds = 100; crawlConfig.MaxConcurrentThreads = 10; crawlConfig.MaxPagesToCrawl = 1000; crawlConfig.UserAgentString = "abot v1.0 http://code.google.com/p/abot"; crawlConfig.ConfigurationExtensions.Add("SomeCustomConfigValue1", "1111"); crawlConfig.ConfigurationExtensions.Add("SomeCustomConfigValue2", "2222");

2. 通過App.config配置

直接從配置文件中讀取,但是也任然可以在修改各項屬性:

CrawlConfiguration crawlConfig = AbotConfigurationSectionHandler.LoadFromxml().Convert(); crawlConfig.CrawlTimeoutSeconds = 100; crawlConfig.MaxConcurrentThreads = 10;

3. 應用配置到爬蟲對象

PoliteWebCrawler crawler = new PoliteWebCrawler();PoliteWebCrawler crawler = new PoliteWebCrawler(crawlConfig, null, null, null, null, null, null, null);

二,使用爬蟲,注冊各種事件

爬蟲中主要是4個事件, 頁面爬取開始、頁面爬取失敗、頁面不允許爬取事件、頁面中的鏈接不允許爬取事件。

下面是示例代碼:

crawlergeCrawlStartingAsync += crawler_PRocessPageCrawlStarting;//單個頁面爬取開始 crawler.PageCrawlCompletedAsync += crawler_ProcessPageCrawlCompleted;//單個頁面爬取結束 crawler.PageCrawlDisallowedAsync += crawler_PageCrawlDisallowed;//頁面不允許爬取事件 crawler.PageLinksCrawlDisallowedAsync += crawler_PageLinksCrawlDisallowed;//頁面鏈接不允許爬取事件void crawler_ProcessPageCrawlStarting(object sender, PageCrawlStartingArgs e){        PageToCrawl pageToCrawl = e.PageToCrawl;        Console.WriteLine("About to crawl link {0} which was found on page {1}", pageToCrawl.Uri.AbsoluteUri, pageToCrawl.ParentUri.AbsoluteUri);}void crawler_ProcessPageCrawlCompleted(object sender, PageCrawlCompletedArgs e){        CrawledPage crawledPage = e.CrawledPage;        if (crawledPage.WebException != null || crawledPage.HttpWebResponse.StatusCode != HttpStatusCode.OK)                Console.WriteLine("Crawl of page failed {0}", crawledPage.Uri.AbsoluteUri);        else                Console.WriteLine("Crawl of page succeeded {0}", crawledPage.Uri.AbsoluteUri);        if (string.IsNullOrEmpty(crawledPage.Content.Text))                Console.WriteLine("Page had no content {0}", crawledPage.Uri.AbsoluteUri);}void crawler_PageLinksCrawlDisallowed(object sender, PageLinksCrawlDisallowedArgs e){        CrawledPage crawledPage = e.CrawledPage;        Console.WriteLine("Did not crawl the links on page {0} due to {1}", crawledPage.Uri.AbsoluteUri, e.DisallowedReason);}void crawler_PageCrawlDisallowed(object sender, PageCrawlDisallowedArgs e){        PageToCrawl pageToCrawl = e.PageToCrawl;        Console.WriteLine("Did not crawl page {0} due to {1}", pageToCrawl.Uri.AbsoluteUri, e.DisallowedReason);}

 

三, 為爬蟲添加多個附加對象

Abot應該是借鑒了asp.net MVC中的ViewBag, 也為爬蟲對象設置了對象級別的CrwalBag和Page級別的ViewBag.

PoliteWebCrawler crawler = new PoliteWebCrawler();crawler.CrawlBag.MyFoo1 = new Foo();//對象級別的CrwalBagcrawler.CrawlBag.MyFoo2 = new Foo();crawler.PageCrawlStartingAsync += crawler_ProcessPageCrawlStarting;...void crawler_ProcessPageCrawlStarting(object sender, PageCrawlStartingArgs e){        //獲取CrwalBag中的對象        CrawlContext context = e.CrawlContext;        context.CrawlBag.MyFoo1.Bar();//使用CrwalBag        context.CrawlBag.MyFoo2.Bar();        //使用頁面級別的PageBag        e.PageToCrawl.PageBag.Bar = new Bar();}

四,啟動爬蟲

啟動爬蟲非常簡單,調用Crawl方法,指定好開始頁面,就可以了。
CrawlResult result = crawler.Crawl(new Uri("http://localhost:1111/"));if (result.ErrorOccurred)        Console.WriteLine("Crawl of {0} completed with error: {1}", result.RootUri.AbsoluteUri, result.ErrorException.Message);else        Console.WriteLine("Crawl of {0} completed without error.", result.RootUri.AbsoluteUri);

五,介紹CsQuery

在PageCrawlCompletedAsync事件中, e.CrawledPage.CsQueryDocument就是一個CsQuery對象。

這里介紹一下CsQuery在分析Html上的優勢:

cqDocument.Select(".bigtitle > h1")
這里的選擇器的用法和Jquery完全相同,這里是取class為.bittitle下的h1標簽。如果你能熟練的使用Jquery,那么上手CsQuery會非常快和容易。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
92看片淫黄大片看国产片| 亚洲欧美国产另类| 成人免费视频在线观看超级碰| 欧美亚洲另类在线| 国产精品爱久久久久久久| 国产精品福利网站| 精品久久久香蕉免费精品视频| 国产精品九九九| 亚洲jizzjizz日本少妇| 亚洲三级免费看| 永久免费精品影视网站| 九九视频这里只有精品| 成人午夜在线影院| 国产精品91久久久久久| 国产精品爽黄69天堂a| 国产91精品青草社区| 亚洲精品久久久久久久久| 欧美亚洲成人免费| 国产精品专区第二| 亚洲免费一在线| 国产精品白嫩美女在线观看| 日本欧美黄网站| 亚洲色图日韩av| 中文字幕欧美在线| 国产成人精品免费久久久久| 亚洲最大福利视频| 国产美女精品视频免费观看| 亚洲视频视频在线| 久久免费少妇高潮久久精品99| 欧洲永久精品大片ww免费漫画| 懂色av影视一区二区三区| 少妇高潮 亚洲精品| 国产性色av一区二区| 日韩av免费一区| 欧美成人一区二区三区电影| 亚洲精品一区中文字幕乱码| 欧美大片网站在线观看| 亚洲欧美中文字幕在线一区| 91黑丝在线观看| 国产欧美日韩视频| 久久久91精品国产| 欧美综合在线第二页| 欧美最猛黑人xxxx黑人猛叫黄| 红桃av永久久久| 欧美精品一二区| 日韩中文字幕精品| 欧美性猛交xxxx乱大交3| 亚洲一区二区三区在线免费观看| 一本色道久久综合狠狠躁篇的优点| 久久视频国产精品免费视频在线| 日韩电影免费在线观看| 欧美性xxxxxxxxx| 92裸体在线视频网站| 91精品国产自产在线| 国产在线观看精品| 97视频在线观看亚洲| 色天天综合狠狠色| 91免费视频网站| 国产日产欧美a一级在线| 成人做爽爽免费视频| 久久免费视频观看| 在线播放国产精品| 国产一区二区三区欧美| 高清日韩电视剧大全免费播放在线观看| 亚洲欧美日韩精品久久奇米色影视| 国产69精品久久久久久| 欧美日韩国产精品专区| 97久久伊人激情网| 欧美成人全部免费| 欧美成人免费播放| 欧美网站在线观看| 日韩美女免费视频| 91av中文字幕| 久久久亚洲欧洲日产国码aⅴ| 欧美在线精品免播放器视频| 91精品久久久久久综合乱菊| 91在线直播亚洲| 日韩欧美中文第一页| 亚洲精品二三区| 91精品国产91久久久久久久久| 国产精品久久久久久婷婷天堂| 久久久免费精品视频| 国产亚洲精品成人av久久ww| 国产精品色悠悠| 九九热最新视频//这里只有精品| 久久这里只有精品99| 中文字幕在线亚洲| 亚洲欧美中文另类| 亚洲第一国产精品| 国产成人福利网站| 国产v综合v亚洲欧美久久| 亚洲深夜福利视频| 日韩欧美在线网址| 午夜精品一区二区三区av| 国产精品美女www爽爽爽视频| 疯狂欧美牲乱大交777| 亚洲国产高清自拍| 欧美伊久线香蕉线新在线| 日韩av免费一区| 91亚洲精品一区| 欧美色视频日本版| 国产精品久久久久一区二区| 在线成人激情视频| 欧美噜噜久久久xxx| 日本精品视频在线| 精品国产自在精品国产浪潮| 成人黄在线观看| 国产精品视频免费在线| 国产精品h片在线播放| 国产成人一区二| 精品国偷自产在线视频| 日韩在线视频观看正片免费网站| 色偷偷888欧美精品久久久| 色妞一区二区三区| 91亚洲精品在线观看| 欧美大秀在线观看| 81精品国产乱码久久久久久| 国产精品入口夜色视频大尺度| 国产精品一区二区久久精品| 欧美日韩人人澡狠狠躁视频| 亚洲欧美色图片| 日本午夜在线亚洲.国产| 日韩高清av一区二区三区| 欧美成人国产va精品日本一级| 欧美激情成人在线视频| 668精品在线视频| 国产精品久久久久7777婷婷| 国产精品久久久久77777| 欧美中文在线字幕| 日韩av在线资源| 亚洲欧美成人网| 97视频色精品| 亚洲色图色老头| 国产精品久久久久久久久粉嫩av| 色与欲影视天天看综合网| 91九色在线视频| 欧美成人三级视频网站| 91久久久久久久久| 一本大道久久加勒比香蕉| 国产精品久久久91| 精品调教chinesegay| www.xxxx精品| 91亚洲精品在线| 亚洲天堂男人天堂女人天堂| 欧美另类暴力丝袜| 91视频8mav| 日本电影亚洲天堂| 国产男人精品视频| 亚洲国产精品视频在线观看| 亚洲影影院av| 精品动漫一区二区三区| 欧美日本高清一区| 亚洲黄色av网站| 亚洲国产精品99久久| 日韩成人激情视频| 日韩欧美在线视频| 国产成人精品国内自产拍免费看| 欧美日韩亚洲精品一区二区三区| 91精品国产91久久久久福利| 色yeye香蕉凹凸一区二区av| 国产精品久久久久免费a∨大胸| 日韩激情第一页| 久久久噜久噜久久综合| 亚洲一区999|