2015-02-01 3 views
0

Я пытаюсь получить ссылки из источника страницы в приложении Windows Store. Я использую HtmlAgilityPack и вот мой кодПолучение ссылок со страницы

HttpClient client = new HttpClient(); 
     client.MaxResponseContentBufferSize = 256000; 
     client.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 
     (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); 

     string source = await client.GetStringAsync(url); 
     HtmlDocument doc = new HtmlDocument(); 
     doc.LoadHtml(source); 
     List<String> links = doc 
     .DocumentNode 
     .SelectNodes("//a[@href]") 
     .Select(node => node.Attributes["href"].Value) 
     .ToList(); 

Я получаю ошибку

Тип «System.Xml.XPath.IXPathNavigable» определяется в сборки, которая не ссылается. Вы должны добавить ссылку на сборку 'System.Xml.XPath, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' в строке, где создается переменная doc.

Но когда я добавить ссылку на System.Xml.XPath из папки MicrosoftSDKs Я получаю

Не удается найти тип System.SystemException в модуле mscorlib.dll

Как исправить Это?

ответ

0

Посмотрите на этой простой статье: C# Scraping

, например, это довольно легко:

using System.Diagnostics; 
using System.Net; 

class Program 
{ 
    static void Main() 
    { 
    // Scrape links from wikipedia.org 

    // 1. 
    // URL: http://en.wikipedia.org/wiki/Main_Page 
    WebClient w = new WebClient(); 
    string s = w.DownloadString("http://en.wikipedia.org/wiki/Main_Page"); 

    // 2. 
    foreach (LinkItem i in LinkFinder.Find(s)) 
    { 
     Debug.WriteLine(i); 
    } 
    } 
} 
0

Я думаю, что предложение для ссылки на сборку, чтобы принести в System.Xml.XPath это от марки. Когда я компилирую ваш код, я не могу разрешить HttpClient. Как только я включу ссылку на System.Net.Http и добавлю using System.Net.Http; в начало файла, содержащего ваш код, он сразу же компилируется (ну, как только я определяю, например, var url = "http://apps.microsoft.com/windows/en-us/app/appstudio-contoso-sample-app/748084e6-e1da-40d5-9571-35c750b26d5e";, он компилируется).

Смежные вопросы