程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> [爬蟲學習筆記]Url過濾模塊UrlFilter,學習筆記urlfilter

[爬蟲學習筆記]Url過濾模塊UrlFilter,學習筆記urlfilter

編輯:關於.NET

[爬蟲學習筆記]Url過濾模塊UrlFilter,學習筆記urlfilter


   

        Url Filter則是對提取出來的URL再進行一次篩選。不同的應用篩選的標准是不一樣的,比如對於baidu/google的搜索,一般不進行篩選,但是對於垂直搜索或者定向抓取的應用,那麼它可能只需要滿足某個條件的url,比如不需要圖片的url,比如只需要某個特定網站的url等等。Url Filter是一個和應用密切相關的模塊。

using System;
using System.Collections.Generic;
using Crawler.Common;

namespace Crawler.Processing
{
    public class UrlFilter
    {
        public static List<Uri> RemoveByRegex(List<Uri> uris, params string[] regexs)
        {
            var uriList=new List<Uri>(uris);
            for (var i = 0; i < uriList.Count; i++)
            {
                foreach (var r in regexs)
                {
                    if (!RegexHelper.IsMatch(uriList[i].ToString(), r)) continue;
                    uris.RemoveAt(i);
                    i--;
                }
            }
            return uriList;
        }

        public static List<Uri> SelectByRegex(List<Uri> uris, params string[] regexs)
        {
            var uriList = new List<Uri>();
            foreach (var t in uris)
                foreach (var r in regexs)
                    if (RegexHelper.IsMatch(t.ToString(), r))
                        if(!uriList.Contains(t))
                            uriList.Add(t);
            return uriList;
        }

    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved