2011-04-25 64 views
2

我开发的网站,有时客户已经有网站,但需要他们完全改造,但大多数的内容和图像需要保持不变。我正在寻找软件,即使它花钱或是一个桌面应用程序,它可以轻松地让我输入一个URL并将所有内容都刮到我本地机器上的指定文件夹。任何帮助将非常感激。如何从网站上刮取所有内容?

+1

文件>另存为...> [网站,完整] - 它不会让你每一页,但它会让你在当前页面上的所有资产。 – coreyward 2011-04-25 15:00:27

+0

[解析HTML的最佳方法]的可能的重复(http://stackoverflow.com/questions/3577641/best-methods-to-parse-html) – Gordon 2011-04-25 17:09:33

+0

如果[Save Full Webpage](http:// stackoverflow。 com/questions/1722433/save-full-webpage) – Gordon 2011-04-25 17:10:52

回答

7

htttrack将为你工作得很好。这是一个离线浏览器,将拉下网站。您可以根据需要进行配置。这显然不会拉下PHP,因为php是服务器端代码。唯一可以拉下来的是html和javascript以及任何推送到浏览器的图像。

+0

非常感谢,这正是我一直在寻找的。 – cklingdesigns 2011-04-27 15:16:38

+0

没问题。感谢您的复选标记。 – 2011-04-27 17:12:51

5
file_put_contents('/some/directory/scrape_content.html', file_get_contents('http://google.com')); 

为慈善事业节省你的钱。

2

从内容上看,您的意思是整个页面内容,因此您可以“保存为......”整个页面与大多数包含的媒体。

Firefox在工具 - >页面信息 - >媒体中包含您可以下载的页面上的所有媒体列表。

0

你可以做到这一点另存为浏览器的选项去文件 - >保存网页为Firefox和所有的图像和js将被保存在一个文件夹中

1

不要打扰PHP的像这个。您可以使用wget轻松获取整个网站。但是,请注意,它不会为你解析像CSS这样的东西,因此它不会抓取任何通过(比如说)background-image: URL('/images/pic.jpg')引用的文件,但会阻止大多数其他所有文件。

0

几年前我开始使用HTTrack,我很满意。这似乎是为了获得我自己都看不到的页面。

1

这个类可以帮你刮的内容:http://simplehtmldom.sourceforge.net/

+0

推荐的[SimpleHtmlDom](http://simplehtmldom.sourceforge.net/)的第三方替代方案实际上使用[DOM](http://php.net/manual/en/book.dom.php)而不是字符串解析:[phpQuery](http://code.google.com/p/phpquery/),[Zend_Dom](http://framework.zend.com/manual/en/zend.dom.html),[QueryPath]( http://querypath.org/)和[FluentDom](http://www.fluentdom.org)。 – Gordon 2011-04-25 17:10:08

+0

谢谢你的建议,戈登。真的很好。 :d – 2011-04-26 21:31:36

0

你能凑够网站与http://scrapy.org,并得到你想要的内容。

Scrapy是一个快速的高级屏幕抓取和网页爬行框架,用于抓取网站并从其网页中提取结构化数据。它可用于广泛的用途,从数据挖掘到监视和自动化测试。