如何获取 google 搜索页面的 HTML 来源?

How to get the HTML source of a google search page?

我正在努力提高我的编码技能,我正在尝试设计一种用于查看 google 搜索的自定义客户端。

我不想用googleAPI,主要是觉得这样会剪掉很多有趣的节目。

我尝试下载网页,目的是解析 HTML。但是,当我下载搜索页面时,我找不到任何有用的数据,比如我在原始页面上看到的 URL。

这是一个搜索词 "file" 的示例。

http://pastebin.com/xjF2WRRj

有谁知道下载页面 html 的正确方法吗?

提前致谢

获取 HTML 的方法如下:

Dim WebRequest As HttpWebRequest = TryCast(HttpWebRequest.Create(SearchString), HttpWebRequest)

Dim WR As HttpWebResponse = TryCast(WebRequest.GetResponse(), HttpWebResponse)

Dim receiveStream As Stream = WR.GetResponseStream()

Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)

Dim Page As [String] = readStream.ReadToEnd()

我会使用 HtmlAgility Pack 来解析它。

您正在尝试做的事情叫做 web scraping,或者通过假装您通过浏览器加载页面来尝试从网站中提取内容,然后通过查看和挑选页面代码的点点滴滴来访问加载的内容。有时这可以很好地工作(整个企业都致力于网络抓取!)而其他时候则不是那么好 - 这就是其中之一。

由于您实际上是直接翻录页面代码,而不是通过真正的浏览器查看它,因此正在执行下载动态内容的 JavaScript 中的 none,因此,none 您正在寻找的内容正在正确加载。您已经(大部分)从页面本身下载了 JavaScript,它负责加载内容,但它没有被执行。

相反,请尝试下载包含已由 Google 处理过的搜索结果的页面(而不是动态加载的结果),例如搜索“test" on Google. Notice the difference in URLs between that search, and this one”,它会加载结果对于 "test" 动态。