Example #1
0
        public void LoagPage()
        {
            var ret = new HttpRequestFluent(true)
                      .FromUrl("https://github.com/otavioalfenas/Scraping-Toolkit")
                      .Load();

            Assert.IsTrue(ret.HtmlPage != string.Empty);
        }
Example #2
0
        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);
        }
Example #3
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);
        }
Example #6
0
        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);
        }
Example #7
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();
        }
Example #8
0
        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();
        }