- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
互联网上有许多用于下载网站静态副本的工具,例如 HTTrack。还有许多工具,有些是商业工具,用于从网站“抓取”内容,例如 Mozenda。然后有一些工具显然是内置在 PHP 和 *nix 等程序中的,你可以在其中“file_get_contents”或“wget”或“cURL”或只是“file()”。
我对这一切感到非常困惑,我认为主要原因是我遇到的所有描述都没有使用相同的词汇。至少从表面上看,他们似乎都在做同样的事情,但也许不是。
那是我的问题。这些工具到底在做什么?他们在做同样的事情吗?他们是否通过不同的技术做同样的事情?如果他们不做同样的事情,他们有什么不同?
最佳答案
首先,让我澄清一下“镜像”和“刮”之间的区别。
镜像 指下载网站的全部内容,或网站的一些重要部分(包括 HTML、图像、脚本、CSS 样式表等)。这样做通常是为了保留和扩展对宝贵(通常是有限的)互联网资源的访问,或者添加额外的故障转移冗余。例如,许多大学和 IT 公司反射(reflect)了各种 Linux 供应商的发布文件。镜像可能意味着您计划在自己的服务器上托管网站的副本(在原始内容所有者的许可下)。
刮痧是指从网站上复制和提取一些有趣的数据。与镜像不同,抓取针对的是特定数据集(姓名、电话号码、股票报价等),而不是网站的全部内容。例如,您可以“抓取”美国人口普查局的平均收入数据或 Google 财经的股票报价。这有时违反了主机的条款和条件,使其非法。
可以将两者结合起来,以便将数据复制(镜像)与信息提取(抓取)问题分开。例如,如果数据的提取和分析速度较慢或流程密集,您可能会发现镜像站点的速度更快,然后抓取您的本地副本。
要回答您的其余问题... file_get_contents
和 file
PHP 函数用于从本地或远程机器读取文件。该文件可能是 HTML 文件,也可能是其他文件,例如文本文件或电子表格。这不是“镜像”或“抓取”通常所指的内容,尽管您可以使用它们编写自己的基于 PHP 的镜像/抓取器。wget
和 curl
是命令行独立程序,用于从远程服务器下载一个或多个文件,使用各种选项、条件和协议(protocol)。两者都是非常强大和流行的工具,主要区别在于 wget
具有丰富的内置功能,用于镜像整个网站。HTTrack
类似于 wget
在其意图中,但使用 GUI 而不是命令行。这使得那些不习惯从终端运行命令的人更容易使用,但代价是失去了 wget
提供的功能和灵 active 。 .
您可以使用 HTTrack
和 wget
用于镜像,但如果这是您的最终目标,您将不得不在生成的下载数据上运行自己的程序以提取(抓取)信息。Mozenda
是一个爬虫,它不同于 HTTrack
, wget
或 curl
允许您针对要提取的特定数据,而不是盲目地复制所有内容。但是,我对此几乎没有经验。
附言我一般用wget
镜像我感兴趣的 HTML 页面,然后运行 Ruby 和 R 脚本的组合来提取和分析数据。
关于curl - httrack wget curl 抓取和获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098315/
全部 HTTRACK 用户代理请求: Mozilla/2.0(兼容;MS FrontPage Express 2.0) Mozilla/4.05 [fr] (Win98; I) Lynx/2.8rel
我尝试使用 httrack下载我的 phpbb 论坛,但无论我使用什么设置,我都无法停止下载整个维基百科网站,以及链接位于论坛任何位置的许多其他网站... 我设法做到了它下载索引页面只有 ,但这也不好
我尝试从用户提供的 URL 开始递归镜像网页(当然存在深度限制)。 Wget 没有捕获来自 css/js 的链接,所以我决定使用 httrack . 我尝试镜像一些网站,如下所示: # httrack
我想从 URL 下载页面,这很简单。但是在第一页我必须登录,就像我通常在普通浏览器中所做的那样。但是 HTTrack 正在从第一页下载,因为它无法使用我的 cookie 或登录。 我有什么办法可以解决
我用HTTrack下载了sonst.cc,但是离线查看时没有内容。每个选项卡都是空的。这是为什么? 有没有其他应用程序可以下载整个内容? 我在这里失去理智。 谢谢。 编辑: 当我打开使用 HTTrac
请问有没有类似HTTrack的软件、插件或应用! 最佳答案 HTTrack 的 alpha 版本可用于 (Android),但稳定版本需要一些时间:) 关于android - 安卓版 HTTrack!
所以最近我确实为我的业务购买了一些模板。它们基于 HTML/CSS/JQUERY/JS/PHP。 问题如下:在我的领域,并发率非常高,人们下载模板并自己使用它们是很常见的。由于我确实为它们付出了很多,
我一直在尝试使用 HTTrack 来镜像单个页面(下载 html + 先决条件:样式表、图像等),类似于问题 [使用 httrack 镜像单个页面][1]。但是,那里接受的答案对我不起作用,因为我使用
无论我多么努力,我似乎都无法让 httrack 保持指向其他域的链接完好无损。我试过使用 --stay-on-same-domain 参数,但似乎没有用。我也试过添加过滤器不这样做。 只是必须有一
我正在尝试使用 httrack ( http://www.httrack.com/ ) 来下载单个页面,而不是整个站点。因此,例如,当使用 httrack 下载 www.google.com 时,它应
互联网上有许多用于下载网站静态副本的工具,例如 HTTrack。还有许多工具,有些是商业工具,用于从网站“抓取”内容,例如 Mozenda。然后有一些工具显然是内置在 PHP 和 *nix 等程序中的
我最近在 Themeforest 上批准了一个站点模板。我在我的网站上获得了太多流量,并注意到我在 Themeforest 上的演示被一些软件(如 HTTrack)撕掉了。如果继续,该商品的销售额最终
我正在尝试在我的 MAC 上编译 httrack。 ./configure 成功。但是在编译包时出现以下错误,并且无法解决。 In file included from htscore.c:40: I
从 HTTrack 单击捕获 URL 时出现问题。 那就是它生成的代理地址不正确。 这是结果: 请暂时将浏览器的代理首选项设置为: 代理地址:fe80::141b:2ce3:3f57:fefb 代理端
我已经通过 HTTrack 下载了完整的网站。但是在下载站点之后,所有 URL 都包含站点的域名 url,例如:www.example.com/index.html 而不是 index.html 有没
我正在尝试使用 HTTrack 或 Wget 从网站下载一些 .docx 文件。我只想对一个文件夹及其子文件夹执行此操作。例如:www.examplewebsite.com/doc(这又下降了 5 个
有一个很棒的网站复制器,我想将它 bundle 到我的可执行文件中,它是用 python 3 和 py2exe 创建的。 关于HTTrack官网FAQ部分说有is a DLL/library vers
我是一名优秀的程序员,十分优秀!