Парсинг страницы html - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите

отпарсить

нужные данные со страницы загруженную в элемент

webBrowser

. Может быть и есть где-то, но я не пойму так как вообще с этим не сталкивался. В проект нужна такая функция. данные примерно такие //<![CDATA[ var tabTirages = {"2013605":{"dhtir":

"Mercredi 30 octobre 2013","numeros":"2239945"

,"cplm":[],"jokerplus":"","video":false,"soustir":"1","nbgagnants":{"total":9688,"firstrang":0}},"2013604":{"dhtir":"Mardi 29 octobre 2013","numeros":"2805320","cplm":[],"jokerplus":"2 805 320","video":false,"soustir":"2","nbgagnants":{"total":130199,"firstrang":0}},"2013603":{"dhtir":"Mardi 29 octobre 2013","numeros":"8761757","cplm":[],"jokerplus":"2 805 320","video":false,"soustir":"1","nbgagnants":{"total":8806,"firstrang":0}},"2013602":{"dhtir":"Lundi 28 octobre 2013","numeros":"3544597","cplm":[],"jokerplus":"3 544 597","video":false,"soustir":"2","nbgagnants":{"total":110687,"firstrang":0}},"2013601":{"dhtir":"Lundi 28 octobre 2013","numeros":"4570276","cplm":[],"jokerplus":"3 544 597","video":false,"soustir":"1","nbgagnants":{"total":8518,"firstrang":0}},"2013600":{"dhtir":"Dimanche 27 octobre 2013","numeros":"7340366","cplm":[],"jokerplus":"7 340 мне нужны в итоге с выделенного красным такие:

Mercredi 30 octobre 2013 2 2 3 9 9 4 5

или даже так: 2 2 3 9 9 4 5 (но лучше первый вариант) записанный в текстовый файл или в дата грид на той же форме. понимаю что нужна регулярка, но в этом вообще ничего не смыслю как то нужно прописать здесь
 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            try
            {
 
                HtmlElementCollection coll = webBrowser1.Document.GetElementsByTagName("здесь не знаю");
                foreach (HtmlElement ff in coll)
                {
                    dataGridView1.Rows.Add(); int i = 0;
                    foreach (HtmlElement dd in ff.All)
                    {
                        if .............???
                        {
                            dataGridView1.Rows[dataGridView1.RowCount - 2].Cells[i].Value = dd.InnerText;
                            i++;
                        }
 
                    }
 
                }
                webBrowser1.Dispose();
                
            }
            catch
            {
 
                MessageBox.Show("Убедитесь, что соединение с Интернет активно и попытайтесь перезагрузить.");
            }
Может быть этот код не подойдёт... В общем я в тупике...

как говорится не знаю, да ещё и забыл

и по всему тексту "выдернуть" аналогичные.
Наверное я выше прописал чушь тогда лучше так
string url = "https://www.адрес";
string html = string.Empty;
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(),Encoding.GetEncoding(1251));
html = sr.ReadToEnd();
теперь как с переменной

html

выдрать данные выделенные красным?
а может быть уже здесь на этапе формирования переменной ставить фильтр из регулярки? 6. html = sr.ReadToEnd(); только как? вот в чём вопрос
Ну не верю я, не верююю... что никто не сможет составить регулярку
а может она и не нужна? тогда как string обработать и вытянуть все данные аналогичные выделенными красным в самом верху страницы. Код html я получил, он записан в одну переменную, что дальше делать?

Решение задачи: «Парсинг страницы html»

textual
Листинг программы
 string ss; 
        private void button2_Click(object sender, EventArgs e)
        {
            string[] strr = {"dhtir\":\"","\",\"cplm"};
            string[] data = File.ReadAllText("data.txt").Split(strr, StringSplitOptions.RemoveEmptyEntries)
                  .Where(q => q.Contains("numeros")).ToArray();
 
            foreach (string sr in data)
            {
                if ((sr.Length < 50))
                {
                    ss += sr;
                    ss += "\r\n";
                }
                
            }
            textBox2.Text = ss;
            
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы