XPathからHtmlAgilityPackに「src」値を選択します。

c# html-agility-pack xpath

質問

私は、クローリングエンジンの開発プロセスを進めています。私のプログラムはHtmlAgilityPackを使ってXpathを通してウェブサイトをクロールします。私はsrcタグを直接取得する必要があります。あなたは正しく動作していない私の簡単なコードを、アドバイスのおかげで見ることができます!

PS:無視してください "char問題、XPathパターンはデータベースによって提供されます。

Agility.DocumentNode.SelectSingleNode("//img[@id="product_photo"]/@src");

そして、これは私がクロールする必要がある行*...**...*部分は抽出するブロックを示しています

<img id="product_photo" src="*/images/thumb/4400/10280/st.jpg*">

いくつかのページはメタタグでイメージを提供するので、 .Attributes["src"]

更新:私の質問と結果をここに見ることができますクエリ

人気のある回答

あなたは "src"や他の属性の値を得ることができません:

Agility.DocumentNode.SelectSingleNode(yourXpath);

ちょうど使用:

string s=Agility.DocumentNode.SelectSingleNode(yourXpath).value;

これは、XPathがHtmlAgilityPackクラスのSelectSingleNode()funcによって属性の値を返すことができないためです。したがって、 SelectSingleNode(yourXpath).value .valueを使用するか、外部テキストなしで "src"だけを取得するために、構文解析の後にRegexを使用する必要があります。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ