Скорость парсинга - от чего зависит? - C#
Формулировка задачи:
Добрый день!
Не могу понять, от чего зависит скорость парсинга.
Есть следующий код:
Цель - парсинг погоды.
Берем три сайта, регулярка для них не сильно отличается:
1) giport.ru - пинг 7 мс, размер страницы 40 кб, спарсит за 1.4 сек;
2) yandex.ru - пинг 20 мс, размер страницы 20 кб, спарсит за 0.3 сек;
3) rambler.ru - результаты как для яндекса.
Получается пинг большого значения не имеет, на парсинг страницы в 2 раза больше размером будет затрачено в 4 раза больше времени.
Или есть еще неучтенные параметры, влияющие на скорость парсинга?
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
namespace Ret
{
class Program
{
static void Main(string[] args)
{
var dt = DateTime.Now;
string input = "http://www.giport.ru/";
string html = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(input);
request.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string pattern = @"<span >([+]?[0-9][0-9])";
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251));
html = sr.ReadToEnd();
MatchCollection mc = Regex.Matches(html, pattern);
foreach (Match m in mc)
{
var diff = DateTime.Now - dt;
Console.WriteLine(m.Groups[1].Value);
Console.WriteLine(diff);
Console.ReadKey();
}
}
}
}Решение задачи: «Скорость парсинга - от чего зависит?»
textual
Листинг программы
Обмен пакетами с ya.ru [93.158.134.3] с 32 байтами данных: