public void LoagPage() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit") .Load(); Assert.IsTrue(ret.HtmlPage != string.Empty); }
public void LoadComponents() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit") .TryGetComponents(Enums.TypeComponent.LinkButton | Enums.TypeComponent.InputHidden) .Load(); Assert.IsTrue(ret.Components.LinkButtons.Count > 0 && ret.Components.InputHidden.Count > 0); }
public void LoadWithoutAutoRedirect() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/RespireFundo/graphs/traffic") .TryGetComponents(Enums.TypeComponent.LinkButton | Enums.TypeComponent.InputHidden) .WithAutoRedirect(false) .Load(); Assert.IsTrue(!ret.HtmlPage.Contains("Password")); }
public void GetComponents() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit") .Load(); var byClassEquals = ret.HtmlPage.GetByClassNameEquals("Box mb-3 Box--condensed"); var images = byClassEquals.FirstOrDefault().GetAllComponents(TypeComponent.Image); var link = byClassEquals.FirstOrDefault().GetAllComponents(TypeComponent.LinkButton); Assert.IsTrue(images.Images.Count > 0 && link.LinkButtons.Count > 0); }
public void AllTags() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit") .Load(); var byClassContain = ret.HtmlPage.GetByClassNameContains("Box mb-3 Box--"); var byClassEquals = ret.HtmlPage.GetByClassNameEquals("Box mb-3 Box--condensed"); var byId = ret.HtmlPage.GetById("readme"); Assert.IsTrue(byClassContain != null && byClassEquals != null && byId != null); }
public void LoadGetByClass() { var ret = new HttpRequestFluent(true) .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit") .TryGetComponents(Enums.TypeComponent.LinkButton | Enums.TypeComponent.InputHidden) .Load(); var itens = ret.HtmlPage.GetByClassNameEquals("edge-item-fix"); var itens2 = ret.HtmlPage.GetByClassNameContains("edge-it"); Assert.IsTrue(itens.Count > 0 && itens2.Count > 0); }
private void button4_Click(object sender, EventArgs e) { var http = new HttpRequestFluent(true); http.OnLoad += Http_OnLoad; var info = http .TryGetComponents(Enums.TypeComponent.InputHidden | Enums.TypeComponent.InputText) .AddHeaderDynamically(false) .FromUrl("https://github.com/login") .Load(); NameValueCollection parametros = new NameValueCollection(); string token = info.Components.InputHidden.FirstOrDefault(d => d.Name == "authenticity_token").Text; string timestamp = info.Components.InputHidden.FirstOrDefault(d => d.Name == "timestamp").Text; string timestampSecret = info.Components.InputHidden.FirstOrDefault(d => d.Name == "timestamp_secret").Text; string field = info.Components.InputTexts.FirstOrDefault(d => d.Name.Contains("required_field")).Name; parametros.Add("commit", "Sign in"); parametros.Add("authenticity_token", token); parametros.Add("ga_id", ""); parametros.Add("login", "SEU_EMAIL"); parametros.Add("password", ConfigurationManager.AppSettings["senha"]); parametros.Add("webauthn-support", "supported"); parametros.Add("webauthn-iuvpaa-support", "unsupported"); parametros.Add("return_to", ""); parametros.Add("allow_signup", ""); parametros.Add("client_id", ""); parametros.Add("integration", ""); parametros.Add(field, ""); parametros.Add("timestamp", timestamp); parametros.Add("timestamp_secret", timestampSecret); //efetuar login var posLogin = http.AddHeaderDynamically(true) .WithAutoRedirect(true) .WithParameters(parametros) .FromUrl("https://github.com/session") .Load(); }
private void Form1_Load(object sender, EventArgs e) { string url = "https://loja.bblend.com.br/bebidas?O=OrderByScoreAsc"; var ret = new HttpRequestFluent(true) .FromUrl(url) .TryGetComponents(Enums.TypeComponent.Image | Enums.TypeComponent.ComboBox | Enums.TypeComponent.DataGrid | Enums.TypeComponent.InputHidden | Enums.TypeComponent.InputText | Enums.TypeComponent.LinkButton) .Load(); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(ret.HtmlPage); lista = doc.GetByClassNameContains("detalhes"); PreencherTela(); }