c#从网站获取数据

时间:2013-11-28 20:27:18

标签: c# html web webclient

我目前正在使用此网址从ebay.co.uk搜索中获取数据

_url = "http://www.ebay.co.uk/sch/i.html?_sacat=0&_from=R40&_nkw=" +ItemName.Text +"&_sop=15";

我下载它的html,然后做了很多字符串拆分,直到我得到我需要的数据,例如:

_itemImage[i - 1] = codes.StringGetter("<img  src=\"", "\" class=\"img\" alt='", items[i], 1);
// or a worse example
_itemPrice[i - 1] = codes.StringGetter("<div  class=\"g-b\" itemprop=\"price\">\n\t\t\t\t\tÂ", "</div>\n\t\t\t\t<div class=\"bin\">", items[i], 1);

//the function stringGetter is just 
text = StringSplit(StringSplit(totalString, start)[number], end)[0]; 
//StringSplit is just a split with any string accepted

有没有更好的方法来实现这一点,因为它看起来很长,如果html布局改变我的程序将不再有效。

2 个答案:

答案 0 :(得分:2)

您是否查看过eBay API?

以下是eBay API的链接。我认为您可以使用此API来实现搜索功能。

https://go.developer.ebay.com/developers/ebay/documentation-tools/sdks/dotnet

似乎您可以使用此API获取商品详情 http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/GetItem.html

答案 1 :(得分:2)

这就是eBay有API的原因。以下是Finding API:https://go.developer.ebay.com/developers/ebay/products/finding-api

具体来说,您可以使用FindProducts搜索产品。 http://developer.ebay.com/DevZone/shopping/docs/CallRef/FindProducts.html