使用C#访问网页的内容

Sao*_*obi 5 .net c# dom

我正在尝试使用C#来访问网页的内容.例如,我想抓住谷歌主页正文的文本.

我知道这在C#中可以通过Web浏览器控制来实现.但我找不到一个好的,简单的例子.我在网上找到的所有资源都涉及创建表单和GUI,我不需要,我只需要一个好的旧控制台应用程序.

如果任何人都可以提供一个简单的基于控制台的代码片段来完成上述任务,那将非常感激.

Dar*_*rov 14

实际上,WebBrowser是一个GUI控件,用于想要可视化网页(在Windows应用程序中嵌入和管理Internet Explorer).如果您只需要获取网页的内容,则可以使用WebClient类:

class Program
{
    static void Main(string[] args)
    {
        using (var client = new WebClient())
        {
            var contents = client.DownloadString("http://www.google.com");
            Console.WriteLine(contents);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果网站是在javascript中动态生成的(即,如果html源只是.js文件),这将无效,对吧? (3认同)
  • 我基本上想要向站点发送查询并获取返回的结果,但该站点都是用javascript编写的,因此像谷歌一样解析HTML源代码也无济于事.我怎样才能:1)在不知道请求URL是什么的情况下发送查询2)解析javascript生成页面的内容?我必须模拟击键并将其发送出去? (2认同)