Необходимо осуществить парсинг сайта, на котором выкладывается обновление, программа должна показывать дату выложенного обновления на сайте.
Решение
1. Создаем форму как на картинке.
2. Пишем следующий код для кнопки для парсинга сайта.
var request = WebRequest.Create("http://ereport.sbis.ru/download/update");
using (var responses = request.GetResponse())
{
using (var streams = responses.GetResponseStream())
using (var readers = new StreamReader(streams))
{
//в переменной html наш сайт
string html = readers.ReadToEnd();
//ищем определенное место
var UpdExp = new Regex(@"<td width=""70px;"".*>(?<upd>\d.*)</td>");
//в переменной upDate наша искомая дата обновления
string upDate = UpdExp.Match(html).Groups["upd"].Value; // дата
label1.Text = upDate; //выводим значение на форму
}
}
3. Если для выхода в интернет используется прокси, необходимо немного изменить программу.
Листинг парсинга через прокси сервер
WebProxy proxy = new WebProxy("192.168.0.1", 8080);
proxy.Credentials = new NetworkCredential("Имя пользвателя", "пароль");
var request = WebRequest.Create("http://ereport.sbis.ru/download/update");
request.Proxy = proxy;
using (var responses = request.GetResponse())
{
using (var streams = responses.GetResponseStream())
using (var readers = new StreamReader(streams))
{
string html = readers.ReadToEnd();
var UpdExp = new Regex(@"<td width=""70px;"".*>(?<upd>\d.*)</td>");
string upDate = UpdExp.Match(html).Groups["upd"].Value; // дата
label1.Text = upDate;
}
}
Парсинг сделан по нажатию по кнопке. При необходимости этот код можно поместить в таймер, который срабатывает к примеру раз в минуту.
Спасибо =)