Парсинг страницы 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д