【问题标题】:Efficient web scraping with C#?使用 C# 进行高效的网页抓取?
【发布时间】:2016-08-25 23:33:12
【问题描述】:

谁能告诉我是否有办法(以及如何)在表单浏览器中加载网站而不加载(下载)指定的数据,例如;图片、视频和 Flash。

我正在尝试创建一个网络爬虫来访问一些信息。问题是因为我需要登录到所需的站点,所以我需要使用浏览器对其进行网络抓取(至少这是我知道的唯一方法)。正因为如此,加载时间很长(因为它会加载网站中的所有图像和不需要的数据。

有没有办法只持续加载(获取)源代码而不是整个站点(以检查更改)?

如果您知道任何更好的方法,请告诉我。总的来说,我对编码很陌生,这些信息会很有帮助。

【问题讨论】:

  • 看看this是否有帮助。

标签: c# visual-studio visual-studio-2015 web-scraping webbrowser-control


【解决方案1】:

HTML

下载 HTML 就这么简单:

using (var client = new WebClient ())
{
    var html = client.DownloadString("http://google.com");
}

对于图片等,您只有资源的网址。

检查更改

获得代码后,您可以轻松检查自上次下载以来是否进行了任何更改 - 只需计算 HTML 代码的哈希值并将其与之前的哈希值进行比较。你可以使用例如MD5,就像that一样简单。

登录

首先,检查您的网站是否有任何 API。如果确实如此,则可能支持 HTTP 基本身份验证(大多数情况下)。您需要做的就是执行一些请求。至于这个,请阅读RestSharp

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 2018-10-24
    • 2021-07-06
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    • 2020-11-07
    相关资源
    最近更新 更多