나는 아마존 페이지에서 최저 가격을 찾고있다. 이 URL을 예제로 사용 해보자.
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=9963BB#/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=E999-4701&rh=i%3Aaps%2Ck%3AE999-4701
나는 가장 낮은 가격을 찾고 싶다. "새로운 것"의 오른쪽에있는 숫자.
다음은 내가 시도한 것입니다 :
using (TextWriter tw = new StreamWriter(@"D:\AmazonUrls.txt"))
{
foreach (string item in list)
{
var webGet = new HtmlWeb();
var document = webGet.Load(item);
var lowestPrice = document.DocumentNode.SelectSingleNode("//span[@id='subPrice']");
if (lowestPrice != null)
{
Console.WriteLine(lowestPrice);
}
}
}
나는 어떤 결과도 얻지 못하고있다. 내가 어디로 잘못 가고 있니?
subPrice의 id
를 가진 노드를 요청하고 있지만 실제로는 subPrice가있는 class
입니다.
<span class="subPrice">
<a href="http://www.amazon.com/gp/offer-listing/B001BA0W06/ref=sr_1_6_olp?ie=UTF8&qid=1334090832&sr=8-6&condition=new">5 new</a>
from <span class="price">$245.90</span></span>
그래서,
var lowestPrice = document.DocumentNode.SelectSingleNode("//span[@class='subPrice']");
원하는 것을 얻을 수 있습니다. 그러나 제공 한 예제 페이지에는 해당 패턴과 일치하는 여러 노드가 있으므로 여러 노드를 선택한 다음 루프하여 가장 낮은 프라이버시를 갖는 노드를 결정하려고합니다.