【问题标题】:C# - get content from URLC# - 从 URL 获取内容
【发布时间】:2026-01-30 16:05:01
【问题描述】:

如何使用linkedin 网站从URL 获取内容,当我使用EmailID 提供URL 时,我需要获取HTML 代码,如下所示。 但是,当我尝试使用代码访问 URL 时,我正在登录到linkedin 问题。 我尝试使用此 C# 代码,但出现登录问题

string Url = "https://www.example.com/sales/gmail/profile/viewByEmail/" + 
        TextBox1.Text;//example@gmail.com
        HtmlWeb web = new HtmlWeb();
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        HtmlDocument doc = web.Load(Url);
        HtmlNode[] nodes=doc.DocumentNode.SelectNodes("//div").ToArray();

任何人都可以帮助我如何获得带有登录名的html代码, 提前致谢。

【问题讨论】:

标签: c# asp.net asp.net-mvc selenium-webdriver asp.net-web-api


【解决方案1】:

该错误会告诉您问题的确切原因 - 您需要登录。这里有 2 个解决方案:

  1. 只需将一个按钮连接到登录页面。这是 hacky 解决方案,我不以任何方式推荐它。话虽如此,这与您当前的代码一致。
  2. 使用 API,而不是使用 Selenium。我不确定你为什么在这里需要 Selenium:看起来你只是想要来自 LinkedIn 的数据。如果这就是您要查找的内容,则需要使用LinkedIn API。如果您打算自己处理这些信息,那么这是从 LinkedIn 提取信息的正确方法。

我不知道您的要求,也许您确实需要浏览器中的网站。但对我来说,看起来你需要他们的 API。阅读它的一些教程,它可能比尝试在 Selenium 中处理网站更好地执行您的任务。

【讨论】:

  • 你能告诉我如何执行第一点 1.只需将一个按钮连接到登录页面。这是 hacky 解决方案,我不以任何方式推荐它。话虽如此,这与您当前的代码一致。
  • @MohanKrishna 你只需要 webbrowser.open 登录页面,然后重新使用你打开的 webbrowser 去 url 的值。这看起来和感觉都很糟糕,但这是你必须要做的。
  • @MohanKrishna 在 * 上,我们通过 acceptingThanks 最好的答案upvoting 答案有助于解决您的问题。
【解决方案2】:

基本上,如果您想操作登录表单,您需要一个浏览器。你可以试试像 PhantomJS 或 CasperJs 这样的无头浏览器。在自定义到您的链接页面之前,您可以尝试大量文档和示例。无头浏览器的工作方式与普通浏览器一样,您可以编写代码使其自动化。

【讨论】: