0

私はクローリング エンジンの開発プロセスにいます。私のプログラムは、HtmlAgilityPack を使用して Xpath を介して Web サイトをクロールします。画像の 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"]ません。

更新: ここでクエリと結果を確認できますクエリ

4

1 に答える 1

0

以下を使用して、「src」またはその他の属性の値を取得することはできません。

Agility.DocumentNode.SelectSingleNode(yourXpath);

使用するだけで:

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

これは、XPath が HtmlAgilityPack クラスの SelectSingleNode() 関数で属性の値を返すことができないためです。したがって、ファーシングの後に正規表現を使用SelectSingleNode(yourXpath).valueまたは使用して、outerText なしで「src」だけを取得する必要があります。

于 2012-06-10T14:14:40.563 に答える