Example #1
0
        public void FindVacancy(string id)
        {
            string       vacancyUri  = string.Format(@"https://ekb.zarplata.ru/vacancy?rubric_id[]={0}&limit=50", id);
            string       vacancyHtml = HtmlDownloadHelper.DownloadHtml(vacancyUri, Encoding.GetEncoding(65001));
            TextSearcher ts          = new TextSearcher(vacancyHtml);

            vacancyHtml = ts.Crop("<a href=\"/vacancy/", "<a href=\"/vacancy/extended");
            int dimension = new Regex("<a href=\"/vacancy/").Matches(vacancyHtml).Count;

            vacancyArray = new string[dimension];
            Array.Clear(vacancyArray, 0, dimension);
            if (Program.myForm.InvokeRequired)
            {
                Program.myForm.Invoke((Action)(() => Program.myForm.label1.Text = "Построение списка всех вакансий..."));
            }
            for (int i = 0; i < vacancyArray.Length; i++)
            {
                ts.Skip("<a href=\"/vacancy/");
                vacancyArray[i] = "https://ekb.zarplata.ru/vacancy/" + ts.ReadTo("\"");
            }
            if (Program.myForm.InvokeRequired)
            {
                Program.myForm.Invoke((Action)(() => Program.myForm.label1.Text = "Список построен..."));
            }
        }
Example #2
0
 //Формируем таблицу базы
 public void GetDb(string[] array)
 {
     //Пробегаемся по всем html адресам из списка и заполняем таблицу
     TableHelper th = new TableHelper(true);
     if (Program.myForm.InvokeRequired)
         Program.myForm.Invoke((Action)(() =>
             {
                 Program.myForm.label1.Text = "Формирование таблицы базы данных...";
                 Program.myForm.progressBar.Visible = true;
                 Program.myForm.progressBar.Minimum = 0;
                 Program.myForm.progressBar.Maximum = array.Length - 1;
             }));
     for (int i = 0; i < array.Length; i++)
     {
         string choosenVacancy = HtmlDownloadHelper.DownloadHtml(array[i], Encoding.GetEncoding(65001));
         TextSearcher ts = new TextSearcher(choosenVacancy);
         ts.Skip("<title>");
         vacancy = ts.ReadTo(":");
         ts.Skip("description\" content=\"");
         description = ts.ReadTo("\"");
         th.DbAddRow(date, vacancy, salary, description);
         if (Program.myForm.InvokeRequired)
             Program.myForm.Invoke((Action)(() => Program.myForm.progressBar.Value = i));
     }
     //Записываем полученную таблицу в базу. Все.
     if (Program.myForm.InvokeRequired)
             Program.myForm.Invoke((Action)(() =>
             {
                 Program.myForm.label1.Text = "Сохранение базы данных...";
                 Program.myForm.progressBar.Visible = false;
             }));
     dbModification(connectionString, sql, th.table, true);
     if (Program.myForm.InvokeRequired)
         Program.myForm.Invoke((Action)(() => Program.myForm.label1.Text = "Готово"));
 }
Example #3
0
 public bool DownloadHtml()
 {
     try
     {
         myHtml = HtmlDownloadHelper.DownloadHtml(baseUri, Encoding.GetEncoding(65001));
         return(true);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
         return(false);
     }
 }