【问题标题】:Can I grab specific page HTML code from another webpage through Javascript?我可以通过 Javascript 从另一个网页获取特定页面的 HTML 代码吗?
【发布时间】:2015-01-23 05:35:10
【问题描述】:

我已经阅读了有关如何通过 jQuery 或使用跨域请求从另一个网页获取源代码的多种方法。我想要尝试做的是让它,所以我每次加载页面时都会抓取一个具有不同代码的 div,而不是整个源代码。因此,例如,当您使用“检查元素”或 firebug 之类的工具深入了解页面代码时,您会看到更多细节。

我会使用其中一种方法吗?

【问题讨论】:

  • 不可以,因为所有所说的方法都可以获得源代码。然后,您必须解析/操作源代码以实现您的目标。
  • 需要在服务器上使用无头浏览器才能获得完全呈现的页面

标签: javascript jquery html cross-domain


【解决方案1】:

是的。

如果您控制两个域,则可以添加 Access_control_CORS 标头允许访问跨域请求并使用 像 phantomJS 这样的无头浏览器来获取缓存版本 呈现HTML 页面。

如果你不控制这两个域,你将不得不编写一个服务器 获取页面及其所有资源的侧代理(您将拥有 解析页面以获取或重写图像、javascripts 的链接, 样式表等...)然后通过phantomJS 运行它以创建一个 HTML 快​​照。`

来源:

https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
http://phantomjs.org/

注意:尽管我尽了最大努力,但堆栈溢出绝对相信这些链接是代码。抱歉以代码形式发布。

【讨论】:

  • 没关系。仍然感谢您的输入。我们确实控制了这两个域。我正在使用 CORS 标头,现在我遇到的问题之一是,无论出于何种原因,div id 都没有被抓取,但这是我需要弄清楚的一个完全独立的语法问题。
  • 那个div是javascript创建的吗?
猜你喜欢
  • 2022-01-15
  • 1970-01-01
  • 2021-07-04
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
相关资源
最近更新 更多