public void parse_twitter() { const string address = "http://twitter.com/skysportsfl/followers/"; var webClient = new WebClient(); webClient.Headers.Add("cookie", "lang=en-gb; guest_id=v1%3A137337600960092466; __utma=43838368.517491664.1373376012.1375298648.1375367885.10; __utmz=43838368.1375298648.9.8.utmcsr=myxi.co|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmv=43838368.lang%3A%20en; twll=l%3D1375367981; remember_checked=1; remember_checked_on=1; external_referer=\"OTZIBTkFw3v0VTPNOWsL6Q==|0\"; __utmb=43838368.1.10.1375367885; auth_token=4a3b1bfbf0a104e0e01d4f884eb5b86b68972515; secure_session=true; _twitter_sess=BAh7CiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7ADoPY3JlYXRlZF9hdGwrCKCEVzpAAToOcmV0dXJu%250AX3RvIi5odHRwczovL3R3aXR0ZXIuY29tL1NreVNwb3J0c0ZML2ZvbGxvd2Vy%250AczoHaWQiJTMzOTMxODA3OTllOGRjYTI3OGRlZTg2MDg0OThmZDg0Ogxjc3Jm%250AX2lkIiUyNjk3MWZkODY5ODg4MzBiZmQyNWJlNzYxODA0M2U3MA%253D%253D--1e1015aadd109ffcb0d3848ea85e54b0843c94f7"); var webPage = webClient.DownloadString(address); var htmlParser = HtmlParser.Create(); var html = htmlParser.Parse(webPage); Assert.True(webPage.Contains("Followers")); var names = html .HasClass("stream-container") .HasClass("username") .Where(n => n.ToText() != "@"); foreach (var name in names) { Console.WriteLine(name.ToText()); } }
public void br_gives_a_newline() { const string htmlString = "<span>Line1<br>Line2</span>"; var htmlParser = HtmlParser.Create(); var html = htmlParser.Parse(htmlString); var result = html.ToText(); Assert.Equal(2, result.Split('\n').Count()); }
public static void RegisterKeywordIndexing(IKeywordsIndexer indexer) { var htmlParser = HtmlParser.Create(); indexer .Entity <BlogEntryData>() .Index(entry => entry.Title) .Index(entry => entry.Author) .Index(entry => htmlParser.Parse(entry.Summary).ToText()) .Index(entry => htmlParser.Parse(entry.Content).ToText()) .ForEach(entry => entry.Tags, tagBuilder => tagBuilder.Index(tag => tag.Title)); }
static void Exec( string htmlString, string name, string value, string expected) { var sut = HtmlParser.Create(); var html = sut.Parse(htmlString).ToArray(); html.Attr(name, value); Assert.Equal(expected, html.ToHtml()); }
public void inline_elements_on_same_line() { const string htmlString = "<span>Line1 <b>Line2</b></span>"; var htmlParser = HtmlParser.Create(); var html = htmlParser.Parse(htmlString); var result = html.ToText(); Console.Write(result); Assert.Equal(1, result.Split('\n').Count()); }
static IEnumerable <string> Exec( string htmlString, string attributeName, params string[] expected) { var sut = HtmlParser.Create(); var html = sut.Parse(htmlString).ToArray(); var result = html.Attr(attributeName).ToArray(); Assert.Equal(expected, result); return(result); }
static IEnumerable <IHtmlNode> Exec( string htmlString, Func <HtmlElement, bool> isMatch, string expected) { var sut = HtmlParser.Create(); var html = sut.Parse(htmlString).ToArray(); var result = html.Query(isMatch).ToArray(); Assert.Equal(expected, result.ToHtml()); return(result); }
static IEnumerable <IHtmlNode> Exec( string html, int expectedCount = 0) { var sut = HtmlParser.Create(); var result = sut.Parse(html).ToArray(); Assert.NotNull(result); Console.Write(result.ToHtml()); Assert.Equal(expectedCount, result.Count()); return(result); }