データ抽出SDK:パート1

データ抽出SDKは.NET Framework 3.5で記述されており、テキストファイルおよびWebリソースからデータを抽出および分析するためのツールが含まれています。 調査の結果を聞いて、私は誰もが見られるように、Data Extracting SDK CTP(Community Technical Preview)の最初のバージョン投稿します。

主な機能:
SDKの主な機能について詳しく見ていきましょう。

データ抽出SDKの使用方法


適用分野:

HtmlProcessorおよびContentAnalyzerクラス


HtmlProcessorクラスは、HTMLを読み込んで処理するように設計されています。

主な機能:
ContentAnalyzerクラスはHtmlProcessorクラスの拡張であり、コンテンツの統計分析のためのツールが含まれています。

クラス図を以下に示します(クリック可能):

HTMLProcessor

HtmlProcessorの使用例:

HtmlProcessor proc = new HtmlProcessor(
new Uri ( "http://www.microsoft.com/" ),
new WebProxy( "http://111.111.11.1/" , true ));

proc.Initialize(); //
string html = proc.InnerHtml; // Html
string text = proc.InnerText; //

// DataTable
DataTable dt = proc.GetDataTableByTableIndex(0);

// "Access and connect with thousands of
// Microsoft Certified companies to find products and services"
string value = proc.GetHtmlString( "Microsoft Pinpoint" , "</div></div>" ).RemoveHtmlTags();

//
List <ImageInfo> images = proc.Images;


* This source code was highlighted with Source Code Highlighter .


WebProxyはコンストラクターで見落とされる可能性があります。

POSTリクエストを送信するには、次のコードを使用する必要があります。

HtmlProcessor proc = new HtmlProcessor(
new Uri ( "http://www.microsoft.com/" ),
new WebProxy( "http://11.11.1.1:111/" , true ));

proc.HttpMethod = HttpMethods.POST;
var parameters = new NameValueCollection();
parameters.Add( "name" , "value" );
proc.PostParameters = parameters;
proc.Initialize();


* This source code was highlighted with Source Code Highlighter .


LinksExtractorクラス


LinksExtractorクラスは、リンクを抽出するように設計されています。

主な機能:
クラス図:

LinksExtractor

ルール:
ルールを追加するには、シンプルなインターフェースを実装する必要があります。

public interface ICondition
{
bool Satisfied(LinkInfo linkInfo, string value);
bool Satisfied(string linkInfo, string value);
}


使用例:

LinksExtractor ext = new LinksExtractor( new Uri ( "http://microsoft.com/" ));

// , href "microsoft"
ext.AddRule( "microsoft" , new HrefMustContainCondition());

// 10
ext.Maximum = 10;

//
ext.ExtractHidden = true ;

//
ext.Extract();

//
var links = ext.Links;


* This source code was highlighted with Source Code Highlighter .


CTPバージョンでは、Maximumプロパティは100に制限されています。

実際の使用例- 指定されたゾーン内のサイトのリストを取得する方法

その他のクラス


WebScreenshotExtractorクラスとそれを使用するプログラムについては、 こちらをご覧ください

次回は、EmailsExtractor、PhonesExtractor、UrlsExtractor、GuidExtractor 、SEO、およびその他の機能のクラスについて説明しますが、いくつかの例はすでにここで確認できます

CodeplexからData Extraction SDK v.1.0 CTPをダウンロードします

実際の使用に関するいくつかの言葉


このSDKを使用して、次のアプリケーションが開発されました。

フィードバック


私は聞きたいです:


最後に、データ抽出タスクがある場合は、ご連絡ください:)

ご清聴ありがとうございました!

Source: https://habr.com/ru/post/J68150/


All Articles