【问题标题】:Downloading a dynamic webpage as a static html page将动态网页下载为静态 html 页面
【发布时间】:2012-06-18 23:01:30
【问题描述】:

我正在用 PHP 开发代码,我必须在其中下载网页 (http://novosibirsk.e2e4online.ru/shop/catalog/#/category=24) 中的内容并将属性值存储到数据库中表,我正在使用下面的代码下载页面,

$html=file_get_contents('http://novosibirsk.e2e4online.ru/shop/catalog/#/category=24');

此页面包含动态内容。但我需要将网页保存为静态 html 页面。是否有任何 PHP 函数可以将网站下载为静态页面?在任何一种情况下,当我使用谷歌浏览器检查页面上的特定元素时,它都会显示每个元素的静态代码。或者有什么办法可以通过谷歌浏览器下载所有静态内容?我只需要下载后将网页的静态内容存储在变量或文件中。请帮我解决这个问题!提前致谢!

【问题讨论】:

  • 您的file_get_contents 将下载呈现的页面,因此它尽可能是静态的。如果“动态”是指 ajax/javascript 内容,请考虑使用 phantom.js 或其他 js 服务器端框架下载页面。 PHP 无法评估 JS 代码。
  • 当您使用 file_get_contents 下载页面时,无论实际页面是如何生成的,您现在都有一个静态页面。

标签: php html


【解决方案1】:

您想要“网络抓取”。

http://en.wikipedia.org/wiki/Web_scraping

【讨论】:

    【解决方案2】:

    您必须使用 curl 并发送 POST 请求来获取动态内容。 要知道发送了哪些 POST 请求,您可以使用 Google Chrome 的开发者工具并选择选项卡 Network。

    【讨论】:

      猜你喜欢
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2015-04-15
      • 1970-01-01
      相关资源
      最近更新 更多