簡體   English   中英

從網站挑選東西?

[英]Pick out stuff from site?

是否可以使用C#.Net基本使用類似http://www.bing.com/images/search?q=microsoft&form=QBIL&qs=n&sk=&sc=8-4的方法 ,從中提取所有圖像,並放入文件中?

您可以使用HTML Agility Pack及其HTMLWeb類來解析網頁。

如果您想做的更干凈一點,那么最好使用bing API。 在其JSON / XML / SOAP響應中,您將獲得結果中每個圖像的URL,您可以在Loop中檢索這些圖像,或者在LINQ查詢中獲得更好的圖像。

查看此PDF ,它告訴您入門的基本知識。

這是一個如何做的例子。 首先獲取一個允許您進行API查詢的APPID

發出這樣的請求

string url = "http://api.search.live.net/xml.aspx?Appid={0}&sources={1}&query={2}";
string completeUri = String.Format(url, AppId, "image", "microsoft");
HttpWebRequest webRequest = null;
webRequest = (HttpWebRequest)WebRequest.Create(completeUri);
HttpWebResponse webResponse = null;
webResponse = (HttpWebResponse)webRequest.GetResponse();
XmlReader xmlReader = null;
xmlReader = XmlReader.Create(webResponse.GetResponseStream());

然后創建一個將保留返回數據的類。

public class LiveSearchResultImage
{
    public string Title { get; set; }
    public string Description { get; set; }
    public string URI { get; set; }
    public string ImageURI { get; set; }
    public string ThumbnailURI { get; set; }
}

然后使用LINQ查詢從響應中檢索數據。

XDocument data = XDocument.Load(xmlReader);
IEnumerable<XNode> nodes = null;
nodes = data.Descendants(XName.Get("Results", IMAGE_NS)).Nodes();
if (nodes.Count() > 0)
{
    var results = from uris in nodes
    select new LiveSearchResultImage
    {
    URI =
    ((XElement)uris).Element(XName.Get("Url", IMAGE_NS)).Value,
    Title =
    ((XElement)uris).Element(XName.Get("Title", IMAGE_NS)).Value,
    ThumbnailURI =
    ((XElement)uris).Element(XName.Get("Thumbnail", IMAGE_NS)).Value,
    };
    return results;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM