C#从彭博社文章中搜集数据

C#从彭博社文章中搜集数据,c#,html,web-scraping,C#,Html,Web Scraping,我正在使用控制台应用程序从彭博社的一篇文章中获取HTML数据。如果我在《邮递员》中运行它,它会毫无问题地将其全部收回。我尝试了几种不同的方法(RestSharp,Net.Http),但总是得到一个OK响应,内容是“违反服务条款,如果你不是机器人,请单击复选框” 我假设这是对此的预期反应,但我想看看是否有人能够绕过这个问题。我只是想让文章HTML解析元数据,但我无法回避这个问题。我知道这不是由于数量或多个请求造成的。提前谢谢 服务器照常应答。您需要添加ServicePointManager.Sec

我正在使用控制台应用程序从彭博社的一篇文章中获取HTML数据。如果我在《邮递员》中运行它,它会毫无问题地将其全部收回。我尝试了几种不同的方法(RestSharp,Net.Http),但总是得到一个OK响应,内容是“违反服务条款,如果你不是机器人,请单击复选框”


我假设这是对此的预期反应,但我想看看是否有人能够绕过这个问题。我只是想让文章HTML解析元数据,但我无法回避这个问题。我知道这不是由于数量或多个请求造成的。提前谢谢

服务器照常应答。您需要添加
ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12
并且您需要一个
用户代理
标题:
客户端.DefaultRequestHeaders.Add(“用户代理”,@“Mozilla/5.0(Windows NT 10;Win64;x64;rv:56.0)Gecko/20100101 Firefox/56.0”)否则您将收到违反安全条款的消息。如果你需要一些帮助来设置它,请让我知道。谢谢你在没有设置它的情况下给出了答案并让我尝试。这起作用了,现在也起作用了。非常感谢!而且,它不会让我投票或接受答案,但谢谢你!我只是试了一下,但还是收到了违反条款的信息。。。有什么错误或改变吗?我最终不得不使用HttpClientHandler、自动压缩、gzip来绕过它。它工作了几次,然后又回到违反条款,可能是由于来自同一IP的多个请求。fiddle会出错,但会将其扔进.net核心控制台应用程序中,并在结果上设置断点,您将看到响应html。
    public static void GetUrlHtmlData(string urlRequest)
    {
        using (HttpClient client = new HttpClient())
        {
            using (HttpResponseMessage response = client.GetAsync("https://www.bloomberg.com/news/articles/2018-08-19/elon-musk-says-changing-his-way-of-working-is-not-an-option").Result)
            {
                using (HttpContent content = response.Content)
                {
                    string result = content.ReadAsStringAsync().Result;

                    Console.WriteLine(result);

                }
            }
        }
    }