public void GetPoster(Action <string> handler) { var uri = Link.ToUri(); var c = new BasicWebCrawler(uri.Host, 80); c.DataReceived += document => { var prefix = "http://www.movieposterdb.com/posters/"; var trigger = "<img src=\"" + prefix; var trigger_i = document.IndexOf(trigger); if (trigger_i < 0) { return; } var end_i = document.IndexOf("\"", trigger_i + trigger.Length); var data = prefix + document.Substring(trigger_i + trigger.Length, end_i - (trigger_i + trigger.Length)); handler(data); }; c.Crawl(uri.PathAndQuery); }
public static void Spawn(string url, Action <string> handler) { var Hosts = new[] { "xn--hgi.ws", "xn--ogi.ws", "xn--vgi.ws", "xn--3fi.ws", "xn--egi.ws", "xn--9gi.ws", "xn--5gi.ws", "xn--1ci.ws", "xn--odi.ws", "xn--rei.ws", "xn--cwg.ws", "ta.gd", }; var Host = Hosts[url.XorBytes() % Hosts.Length]; var c = new BasicWebCrawler("tinyarro.ws", 80); c.Buffer = new byte[100]; c.BinaryDataReceived += data => { var Target = "http://"; int i = Target.Length; for (; i < data.Length; i++) { if (data[i] == '/') { i++; break; } } Target += Host + "/"; for (; i < data.Length; i++) { Target += "%" + data[i].ToHexString(); } handler(Target); }; c.Crawl("/api-create.php?host=" + Host + "&url=" + url); }
static void Main(string[] args) { var hosts = new[] { "zmovies.tk" /*, "zmoviez.tk" */ }; while (true) { foreach (var h in hosts) { var c = new BasicWebCrawler(h, 80); c.DataReceived += document => { var trigger = "<frame src=\""; var i = document.IndexOf(trigger); var j = document.IndexOf("\"", i + trigger.Length); var data = document.Substring(i + trigger.Length, j - i - trigger.Length); var gmoduleprefix = "http://www.gmodules.com/ig/ifr?url="; if (data.StartsWith(gmoduleprefix)) { var module = data.Substring(gmoduleprefix.Length); if (module.StartsWith("http://zproxy.planet.ee")) { Console.ForegroundColor = ConsoleColor.Yellow; } else { Console.ForegroundColor = ConsoleColor.Green; } Console.WriteLine(DateTime.Now.ToString() + " " + h + " : " + module); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(DateTime.Now.ToString() + " " + h + " : " + data); } }; c.Crawl("/"); } Thread.Sleep(15000); } }
public static string ToWebString(this string e) { var value = ""; var u = new Uri(e); var c = new BasicWebCrawler(u.Host, 80); c.DataReceived += document => { value = document; }; c.Crawl(u.PathAndQuery); return(value); }
// http://msdn.microsoft.com/en-us/library/aa373347(VS.85).aspx static void Main(string[] args) { var u = new Uri("http://zproxy.planet.ee/zmovies/server/tasks/Scheduler/Counter"); var x = 0; var skip = 5; while (true) { var c = new BasicWebCrawler(u.Host, 80); c.DataReceived += document => { var n = int.Parse(document); if (x > 0) { if (x < n) { if (x < (n - skip)) { Console.ForegroundColor = ConsoleColor.Yellow; } else { Console.ForegroundColor = ConsoleColor.Green; } } else { Console.ForegroundColor = ConsoleColor.Red; } Console.WriteLine(n); } x = n; }; c.Crawl(u.PathAndQuery); Thread.Sleep(5500 * skip); } }
public static void Search(string url, Action <string> handler) { var c = new BasicWebCrawler("kej.tw", 80); c.DataReceived += document => { var trigger_tag = "<textarea id=\"outputfield\">"; var trigger_i = document.IndexOf(trigger_tag); var trigger_end_tag = "</textarea>"; var trigger_end_i = document.IndexOf(trigger_end_tag, trigger_i + trigger_tag.Length); var data = document.Substring(trigger_i + trigger_tag.Length, trigger_end_i - trigger_i - trigger_tag.Length); handler(data); }; c.Crawl("/flvretriever/?videoUrl=" + url); }
public static void Search(string title, Action <AliasEntry> handler) { var t = new Uri("http://www.movieposterdb.com/browse/search?search_type=movies&title="); var c = new BasicWebCrawler(t.Host, 80); var DefaultLink = new { Link = "", Title = "", Text = "" }; var DefaultSpan = new { Text = "", Title = "" }; var ParseSpan = DefaultSpan.ToAnonymousConstructor( (string element) => { var Text = ""; var Title = ""; element. ParseAttribute("title", value => Title = value). ParseContent(value => Text = value). Parse("span"); return(new { Text, Title }); } ); var ParseLink = DefaultLink.ToAnonymousConstructor( (string element) => { var Link = ""; var Title = ""; var Text = ""; element. ParseAttribute("href", value => Link = value). ParseAttribute("title", value => Title = value). ParseContent(value => Text = value). Parse("a"); return(new { Link, Title, Text }); } ); c.DataReceived += document => { var trigger = "Movies</h3>"; var trigger_i = document.IndexOf(trigger); var data = BasicElementParser.GetContent(document.Substring(trigger_i), "table"); BasicElementParser.Parse(data, "tr", (element, index) => { /* * <td valign="middle" style="font-size: 0pt; border-bottom: 1px solid #D2D2D2; height: 54px; width: 44px;"> * <img src="http://www.movieposterdb.com/posters/08_09/2008/1179855/m_1179855_4fb9999f.jpg" style="margin-right: 8px; padding: 2px; border: 1px solid #D2D2D2; float: left;" /> * </td> * <td valign="middle" style="border-bottom: 1px solid #D2D2D2; width: 60%;"> * <b><a class="bbg" href="http://www.movieposterdb.com/movie/1179855/Go-Fast.html">Go Fast</a><br /><span style="color: #8C8C8C;">2008</span></b> * </td> * <td style="border-bottom: 1px solid #D2D2D2; font-size: 8pt; color: #808080;"> * * </td> */ BasicElementParser.Parse(element, "td", (tdelement, tdindex) => { if (tdindex == 1) { // <b><a class="bbg" href="http://www.movieposterdb.com/movie/1179855/Go-Fast.html">Go Fast</a><br /><span style="color: #8C8C8C;">2008</span></b> var _title = ParseLink(tdelement); var _year = ParseSpan(tdelement); handler( new AliasEntry { Link = _title.Link, Title = _title.Text, Year = _year.Text } ); } } ); } ); }; c.Crawl(t.PathAndQuery + title.URLEncode()); }
public static void Search(string stitle, Action <AliasEntry> handler) { var c = new BasicWebCrawler("www.omdb.si", 80); var DefaultLink = new { Link = "", Title = "", Text = "" }; var ParseLink = DefaultLink.ToAnonymousConstructor( (string element) => { var Link = ""; var Title = ""; var Text = ""; element. ParseAttribute("href", value => Link = value). ParseAttribute("title", value => Title = value). ParseContent(value => Text = value). Parse(); return(new { Link, Title, Text }); } ); c.DataReceived += document => { var trigger_tag = "<table width=\"100%\" class=\"fW\">"; var trigger_end_tag = "</table>"; Func <int, int> scan = offset => { var trigger_i = document.IndexOf(trigger_tag, offset); if (trigger_i < 0) { return(offset); } var tirgger_end_i = document.IndexOf(trigger_end_tag, trigger_i); if (tirgger_end_i < 0) { return(offset); } var data = document.Substring(trigger_i + trigger_tag.Length, tirgger_end_i - trigger_i - trigger_tag.Length); /* * <tr> * <td class="bTl"><img alt="" src="/images/default/Ogrodje0.gif" width="10" height="10" /></td> * <td class="bT"></td><td class="bTr"></td></tr> * <tr> * <td class="bL"></td> * <td class="bM"> * <div align="left"> * <table width="100%" border="0" cellspacing="0" cellpadding="0"> * <tr> * <td width="5" rowspan="2"></td> * <td width="444" align="left"> * <div align="left"><a href="/index.php/ofilm/?i=401737">Lost <b>(2004)</b></a></div> * </td> * <td align="right"> * <span class="forumozadje3"><b>8.9</b> * <img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellow.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/d9.gif' class='slikevvrsti' /><img src='/images/default/zvezdice/yellowEmpty.gif' class='slikevvrsti' /></span> * </td></tr> * <tr> * <td align="left"> * <span class="oddelki_forum_mala">Genre: <b>Drama, Adventure, Mystery, Thriller</b> Duration: <b>45 min</b></span> * </td> * <td align="right"><span class="oddelki_forum_mala">(174 votes)</span></td></tr> */ var title_tag = "<div align=\"left\">"; var title_end_tag = "</div>"; var title_i = data.IndexOf(title_tag); if (title_i < 0) { return(offset); } title_i = data.IndexOf(title_tag, title_i + title_tag.Length); var title_end_i = data.IndexOf(title_end_tag, title_i); // Lost <b>(2004)</b> var title = ParseLink(data.Substring(title_i + title_tag.Length, title_end_i - title_i - title_tag.Length)); var genre_tag = "<span class=\"oddelki_forum_mala\">"; var genre_i = data.IndexOf(genre_tag, title_end_i); var genre_end_tag = "</span>"; var genre_end_i = data.IndexOf(genre_end_tag, genre_i); // Genre: <b>Drama, Adventure, Mystery, Thriller</b> Duration: <b>45 min</b> var genre = data.Substring(genre_i + genre_tag.Length, genre_end_i - genre_i - genre_tag.Length); var e = new AliasEntry { Genres = genre.Substring("Genre: <b>", "</b>").Split(new[] { ',' }).Trim(), Duration = genre.Substring("Duration: <b>", "</b>"), Link = "http://www.omdb.si" + title.Link, Title = title.Text.Substring(0, title.Text.IndexOf("<")), Year = title.Text.Substring("<b>", "</b>") }; handler(e); return(tirgger_end_i + trigger_end_tag.Length); }; var start_tag = "<td align=\"right\" class=\"bM\">"; var start_offset = document.IndexOf(start_tag); start_offset = document.IndexOf(start_tag, start_offset); scan.ToChainedFunc((x, y) => y > x)(start_offset); }; // we will only look at the first result page c.Crawl("/index.php/odefault/search?sK=" + stitle.URLEncode()); }