0

私はいくつかのWebスクレイピングを行うためのツールを開発しようとしています。これは、 HTML Agility Packを使用して特定のWebサイトに対して以前に行ったことがありますが、この場合、ユーザーが[ウェブサイト上のテキスト。

ユーザーが「製品1」を選択したかどうかはわかりませんが、とにかくHTMLタグなどを取得できるので、アルゴリズムをフィードして、ドキュメント全体で同じタイプのタグを検索できますか?

製品1

製品説明

価格$0.00

4

2 に答える 2

2

jqueryセレクターと同様に、特定のタグでDOMをクエリしたいようです。以下のプロジェクトを見てください。あなたが探しているものかもしれません。

https://github.com/jamietre/csquery

于 2012-07-30T22:28:23.223 に答える
0

HTMLをHtmlDocumentオブジェクトにロードしてから、テキスト入力が表示される最初のノードを選択します。ノードには、必要なものがすべて揃っています。

    var doc = new HtmlDocument();
    string input = "Product 1";
    doc.LoadHtml("Your HTML here"); //Or doc.Load(), depends on how you're getting your HTML

    HtmlNode selectedNode = doc.DocumentNode.SelectSingleNode(string.Format("//*[contains(text(),'{0}')]", input));

    var tagName = selectedNode.Name;
    var tagClass = selectedNode.Attributes["class"].Value;
    //etc

もちろん、これはすべて実際のページ構造、「製品1」が他の場所に表示されるかどうか、ページ内の他の要素も「製品1」を含む同じノードを使用するかどうかなどに依存します。

于 2012-07-31T04:19:05.860 に答える