我正试图通过简单的谷歌搜索从一个正式的页面中拉出链接...它可能很简单,但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">…</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">»</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 /”部分。感谢
答案 0 :(得分:0)
尝试以下Xpath表达式:
//a[@class="prod_container"]/@href
答案 1 :(得分:0)
HTML不是XML 。 XPath是一种用于浏览XML文档的工具,但HTML不符合XML要求。您链接的HTML不是格式良好的XML,因此XPath不起作用。
您需要查看使用HTML到XML转换器,然后将该转换的输出添加到您的问题以编写XPath,或者使用不同的工具进行调查。我建议谷歌搜索“C#HTML scrapers”,但我不熟悉.Net所以我不能提供更窄的选项。