Как увеличить удаление плохих ссылок на веб-портале? - PullRequest
0 голосов
/ 20 февраля 2019

Мне нужно проанализировать неработающие ссылки (например, 404) на веб-портале.Его около 10.000 страниц на портале и много внешних ссылок.Я использую HttpWebRequest в c # для загрузки html страницы, затем нахожу все ссылки в html и добавляю уже проверенные ссылки в проверенную группу, а также очередь непроверенных ссылок для проверки.Я использую многопоточность, но это дает мало преимуществ.1 поток - 50 ссылок в минуту, 5 поток - 70. Я думаю, моя проблема в том, как я получаю HTML-код.Я использую простой HttpWebRequest для получения html:

`

string html;
HttpWebResponse response;
StreamReader respStream;
try
{
        HttpWebRequest reques = (HttpWebRequest)WebRequest.Create(link.ToString());
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/15.0";
        request.Accept = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        request.AllowAutoRedirect = true;
        response = (HttpWebResponse)request.GetResponse();
        respStream = new StreamReader(response.GetResponseStream());
        html = respStream.ReadToEnd();
        response.Close();
respStream.Close();
}
catch (Exception ex)
{
        System.Console.WriteLine("-------------\n" +
                "Bad link: " + link + "\n" +
                "From: " + link.Parent +
                "\n" + ex.Message);
        link.ErrorComments = ex.Message;
        link.Parent.AddSon(link);
        continue;
}
normalLinks.Add(link);

`

Мой интернет - 100 МБ / с.1 страница - 150-200 кб.Мне нужно увеличить скорость в несколько раз.Кто-нибудь знает решение?

1 Ответ

0 голосов
/ 20 февраля 2019

Много ли ваших ссылок идет на один домен?Существует ограничение на количество одновременных подключений к одному хосту.Это может быть переопределено в app.config (при условии, что вы .net framework) максимальное управление подключением

...