2013-03-31 8 views
5

Ecco il funzionario "Documentazione" del progetto:Come utilizzare ScrapySharp per analizzare gli elementi in un documento html?

https://bitbucket.org/rflechner/scrapysharp/wiki/Home


Non importa quello che provo, non riesco a trovare il metodo CssSelect() che si suppone la libreria da aggiungere per rendere le cose più facili di interrogazione. Ecco cosa ho provato:

using ScrapySharp.Core; 
using ScrapySharp.Html.Parsing; 
using HtmlAgilityPack; 

HtmlWeb web = new HtmlWeb(); 
HtmlDocument doc = web.Load("http://www.stackoverflow.com"); 

var page = doc.DocumentNode.SelectSingleNode("//body"); 
page.CssSel??? 

Esattamente come si utilizza questa libreria? Nella documentazione non è chiaro quale sia il tipo html.

+2

Ho appena aggiornato Wiki del progetto. https://bitbucket.org/rflechner/scrapysharp/wiki/Home Spero che sarà più facile da usare. Ciao – rflechner

risposta

7

Aggiungi

using ScrapySharp.Extensions; 

Sembra che ti manca questo. Questo dovrebbe rendere disponibile CssSelect.

Nel caso in cui un esempio aiuta, ecco un metodo, così, che uso in un progetto:

private string GetPdfUrl(HtmlDocument document, string baseUrl) 
{ 
    return new Uri(new Uri(baseUrl), document.DocumentNode.CssSelect(".table-of-content .head-row td.download a.text-pdf").Single().Attributes["href"].Value).ToString(); 
}