【问题标题】:webclient().downloadstring won't load everythingwebclient().downloadstring 不会加载所有内容
【发布时间】:2015-06-27 00:46:31
【问题描述】:

您好,我正在使用 Visual Basic 类 webclient 将 html 文档下载到字符串中。

这里是代码

 Dim htmlsource As String
    htmlsource = New System.Net.WebClient().DownloadString("website")
    RichTextBox1.Text = htmlsource

问题在于 (webclient().downloadstring) 仅下载网站加载的一部分,而 html 文档的其余部分在网页加载后几秒钟加载。有解决办法吗?比如延迟或类似的

【问题讨论】:

  • 对不起,我试图理解你在最后一句话中对问题的解释,但我无法理解。你能重新读一下这句话,看看你能不能澄清一下?
  • 该网站很可能使用 Javascript 和 Ajax 来构建页面。当您将网站下载为字符串时,您不会得到任何这些内容。
  • 是的,网页确实使用了某种 javascript,可能是 ajax 来加载一个部分。
  • 我只是在想 - 将页面加载到浏览器控件中并从那里保存,不是吗?

标签: vb.net visual-studio webclient


【解决方案1】:

试试这个

WebClient Client = new WebClient();
string tempHtml = Client.Encoding.GetString(Client.DownloadData(IncomingAddress));

dim Client as new WebClient()
dim tempHtml as String = Client.Encoding.GetString(Client.DownloadData(IncomingAddress))

您的问题对所有互联网蜘蛛都非常熟悉,您的内容来自 ajax,您看不到它,因为它以不同的请求加载,为此您需要通过浏览器或 webkit...

【讨论】:

  • 你可以试试,但我认为问题是ajax调用,你可以使用webkit for .Net webkitdotnet.sourceforge.net,这样你就可以看到所有的调用和流量......跨度>
  • 我会试试的,但是很抱歉我对 c 有点不熟悉,但是你能把那个代码翻译成 vb.net 吗?
  • 您可以使用本网站developerfusion.com/tools/convert/vb-to-csharp在语言之间轻松翻译
  • 谢谢!唯一的问题是有一个错误指出未定义 Webclient()。我假设你的意思是一个网站?
  • 将此添加到文件顶部:Imports System.Net
猜你喜欢
  • 2013-11-03
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-05
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
相关资源
最近更新 更多