Collecting YouTube links from a page
Comments inline:

public class Parser
{
    public static void Main()
    {
        Console.WriteLine("Enter the url of the page:");
        var url = Console.ReadLine();

        var numOfPages = GetNumberOfPages(url);
        var numOfLinks = 1;

        for (int page = 0; page &lt;= numOfPages; page++)
        {
            // if (page != 1) is redundant in the original code, did you mean numOfPages?
            var newUrl = url + (page &gt; 0 ? string.Format($"{page}/") : "");
            GetYouTubeLinks(newUrl).ForEach(x =&gt; Console.WriteLine($"{numOfLinks++}." +
                x.Replace("embed/", "watch?v=").Replace("?feature=oembed", "")));   // remove string interpolation since it's just one value
            // newUrl = string.Empty;       // Not needed
        }
    }

    private static HtmlDocument GetWebPageHtmlFromUrl(string url)
    {
        var webGet = new HtmlWeb();

        return webGet.Load(url);
    }

    private static int GetNumberOfPages(string url)
    {
        var pages = GetWebPageHtmlFromUrl(url)
            .DocumentNode.SelectNodes("//div[@class='page-link']")  // This parsing may work on specific pages, but it won't work on all pages. This is concerning since the user is prompted to enter any URL?
            .Descendants("a")
            .Last().InnerText;

        return int.Parse(pages);
    }

    private static List&lt;string&gt; GetYouTubeLinks(string url)     // Made plural
    {
        var iframeLinks = GetWebPageHtmlFromUrl(url).DocumentNode.SelectNodes("//iframe");

        if (iframeLinks == null)    // reduce nesting
        {
            return new List&lt;string&gt;(0);
        }

        return iframeLinks.Select(link =&gt; link.Attributes["src"].Value).ToList();   // simplify allocation
    }
}