0

単にグーグルで検索しても見つからないように見える正式なページからリンクを取得しようとしています...単純かもしれませんが、xpathは私の専門分野ではありません

私はc#を使用しており、リンクを取得してコンソールに書き込んで、リンクを取得する方法を見つけようとしています

ここに私のC#コードがあります

            var document = webGet.Load("http://classifieds.castanet.net/cat/vehicles/cars/0_-_4_years_old/");
        var browser = document.DocumentNode.SelectSingleNode("//a[starts-with(@href,'/details/')]");
        if (browser != null)
        {
            string htmlbody = browser.OuterHtml;
           Console.WriteLine(htmlbody);

        }

HTMLコードセクションは

<div class="last">&hellip;</div><a href="/cat/vehicles/cars/0_-_4_years_old/?p=13">13</a><a href="/cat/vehicles/cars/0_-_4_years_old/?p=2">&raquo;</a>
<select name="sortby" class="sortby" onchange="doSort(this);">
    <option value="">Most Recent</option>
    <option value="of" >Oldest First</option>
    <option value="mw" >Most Views</option>
    <option value="lw" >Fewest Views</option>
    <option value="lp" >Lowest Price</option>
    <option value="hp" >Highest Price</option>
</select><div style="clear:both"></div>
</div>
<br /><br /><br />
                <a href="/details/2008_vw_gti/1454282/" class="prod_container" >
        <h2>2008 VW GTi</h2>
        <div style="float:left; width:122px; z-index:1000">
        <div class="thumb"><img src="http://c.castanet.net/img/28/thumbs/1454282-1-1.jpg" border="0"/></div>
        <div class="clear"></div>
        mls
        </div>
        <div class="descr">
            The most fun car I have owned.  Dolphin Grey, 4 door, Dual Climate control, DRG Transmission with paddle shift.  Leather...
        </div>
        <div class="pdate">
            <p class="price">$19,000.00</p>
            <p class="date">Kelowna<br />Posted: Oct 15,  2:54 PM<br />Views: 349</p>
        </div>
        <div style="clear:both" ></div>
        <div class="seal"><img src="/images/bookmark.png" /></div>
        </a>
                <a href="/details/price_drop_gorgeous_rare_white_2009_honda_accord_ex-l_coupe/1447341/" class="prod_container" >
        <h2>PRICE DROP!!! Gorgeous Rare White 2009 Honda Accord EX-L Coupe </h2>
        <div style="float:left; width:122px; z-index:1000">
        <div class="thumb"><img src="http://c.castanet.net/img/28/thumbs/1447341-1-1.jpg" border="0"/></div>
        <div class="clear"></div>
        sun2010
        </div>
        <div class="descr">

私が取得しようとしているリンクは、「/details/2008_vw_gti/1454282/」の部分です。ありがとう

4

2 に答える 2

0

HTML は XML ではありません。XPath は XML ドキュメントをナビゲートするためのツールですが、HTML は XML 要件に準拠していません。リンクした HTML は整形式の XML ではないため、XPath は機能しません。

HTMLからXMLへのコンバーターの使用を検討し、その変換の出力を質問に追加してXPathを書き込むか、ジョブに別のツールを使用して調査する必要があります。「C# HTML スクレーパー」を Google で検索することをお勧めしますが、私は .Net に詳しくないため、より狭いオプションを提供することはできません。

于 2012-10-16T23:11:12.550 に答える
0

次の Xpath 式を試してください。

//a[@class="prod_container"]/@href
于 2012-10-16T22:29:21.227 に答える