Парсинг TITLE на сайте 404 страницы

В инстаграме бывают 404 страницы двух типов, с тайтлом Content Unavailable и PAge Not Found Мне нужно чтобы их выводило. Программу тестировал на google.com, содержимое выводит без проблем, а в моем случае ошибка

System.Net.WebException: "Удаленный сервер возвратил ошибку: (404) Не найден." 
..

код программы

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;   // Нужна, чтобы запускать внешние процессы
using System.Net;           // Нужна, чтобы работать с Web
using System.Threading;     // Нужна, чтобы скоротать время
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.IO;
using System.Text.RegularExpressions;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            var request = WebRequest.Create("https://www.instagram.com/jemeeltittus/");
            using (var responses = request.GetResponse())
            {
                using (var streams = responses.GetResponseStream())
                using (var readers = new StreamReader(streams))
                {
                    string html = readers.ReadToEnd();
                    var UpdExp = new Regex(@"(?<=<title>)(.*)(?=</title>)");
                    string upDate = UpdExp.Match(html).Groups[""].Value; // дата
                    Console.WriteLine(upDate); //выводим тайтла
                    Console.ReadKey();
                }
            }

            Console.ReadKey();


        }


    }
}

Ответы (2 шт):

Автор решения: Bulson

Может так?

class Program
{
    static void Main(string[] args)
    {
        var username = "name";
        var password = "password";
        var domain = "www.instagram.com";
        var link = "https://www.instagram.com/jemeeltittus/";
        var task = Task.Run(async () => await GetHtmlAsync(username, password, domain, link));
        Console.WriteLine(task.Result);

        Console.WriteLine();
        Console.ReadLine();
    }

    private static async Task<string> GetHtmlAsync(string username, string password, string domain, string link)
    {
        var result = String.Empty;
        var httpClientHandler = new HttpClientHandler()
        {
            Credentials = new NetworkCredential(username, password, domain),
        };
        try
        {
            using (var client = new HttpClient(httpClientHandler))
            {
                var response = await client.GetAsync(link);
                if (response.IsSuccessStatusCode)
                {
                    result =await response.Content.ReadAsStringAsync();
                }
                else
                {
                    result = response.StatusCode.ToString();
                }
            }
        }
        catch (Exception ex)
        {
            result = ex.Message;
        }

        return result;
    }
}

Выдает NotFound. У меня нет аккуанта в инстаграме, так что проверить точно не могу.

→ Ссылка
Автор решения: n.prokhorov

С использованием HttpClient (вместо устаревшего Webrequest) и HtmlAgilityPack (для парсинга html вместо регулярок; библиотека доступна в nuget) можно следующим образом получить HTML-title страницы, думаю это подойдет для решения вашей задачи

using HtmlAgilityPack;
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace App
{
    class Program
    {

        static async Task Main(string[] args)
        {
            string title;
            using (var client = new HttpClient())
            {
                var response = await client.GetAsync("https://www.instagram.com/jemeeltittus/");
                var doc = new HtmlDocument();
                doc.LoadHtml(await response.Content.ReadAsStringAsync());
                title = doc.DocumentNode.SelectSingleNode("/html[1]/head[1]/title").InnerText;
            }
            Console.WriteLine(title);
            Console.ReadKey();
        }
    }
}
→ Ссылка