httrack wget 卷曲抓取和获取

2024-04-11

互联网上有许多工具可用于下载网站的静态副本,例如 HTTrack。还有许多工具(其中一些是商业工具)用于从网站“抓取”内容,例如 Mozenda。还有一些显然内置于 PHP 和 *nix 等程序中的工具,您可以在其中“file_get_contents”或“wget”或“cURL”或只是“file()”。

我对这一切感到彻底困惑,我认为主要原因是我遇到的描述都没有使用相同的词汇。至少从表面上看,他们似乎都在做同样的事情,但也许并非如此。

这是我的问题。这些工具到底在做什么?他们在做同样的事情吗?他们通过不同的技术做同样的事情吗?如果他们做的不是同一件事,那他们有何不同?


首先,让我澄清一下“镜像”和“抓取”之间的区别。

镜像是指下载网站的全部内容,或其某些重要部分(包括 HTML、图像、脚本、CSS 样式表等)。这样做通常是为了保留和扩展对有价值(且通常有限)的互联网资源的访问,或添加额外的故障转移冗余。例如,许多大学和 IT 公司都会镜像各个 Linux 供应商的发行档案。镜像可能意味着您计划在自己的服务器上托管网站的副本(经过原始内容所有者的许可)。

Scraping指从网站上复制并提取一些有趣的数据。与镜像不同,抓取的目标是特定的数据集(姓名、电话号码、股票报价等),而不是网站的全部内容。例如,您可以从美国人口普查局“抓取”平均收入数据或从 Google 财经“抓取”股票报价。有时这样做是违反主机的条款和条件的,因此是非法的。

可以将两者结合起来,以便将数据复制(镜像)与信息提取(抓取)问题分开。例如,您可能会发现,如果数据的提取和分析速度缓慢或过程密集,那么镜像站点然后抓取本地副本会更快。

回答你剩下的问题......

file_get_contents and filePHP 函数用于从本地或远程计算机读取文件。该文件可能是 HTML 文件,也可能是其他文件,例如文本文件或电子表格。这不是“镜像”或“抓取”通常所指的内容,尽管您可以使用它们编写自己的基于 PHP 的镜像/抓取器。

wget and curl是命令行独立程序,用于使用各种选项、条件和协议从远程服务器下载一个或多个文件。两者都是非常强大且流行的工具,主要区别在于wget具有丰富的内置功能来镜像整个网站。

HTTrack类似于wget其意图,但使用 GUI 而不是命令行。这使得那些不习惯从终端运行命令的人更容易使用,但代价是失去了wget.

您可以使用HTTrack and wget用于镜像,但如果这是您的最终目标,您将必须对生成的下载数据运行您自己的程序以提取(抓取)信息。

Mozenda是一个刮刀,与HTTrack, wget or curl允许您有针对性地提取特定数据,而不是盲目复制所有内容。然而,我对此缺乏经验。

附:我通常使用wget镜像我感兴趣的 HTML 页面,然后运行 ​​Ruby 和 R 脚本的组合来提取和分析数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

httrack wget 卷曲抓取和获取 的相关文章

  • Curl 错误:最多 (20) 个重定向

    尝试 CURL 到 myntra 时出现错误 我试图通过 DOMDOCUMENT 获取提取详细信息 但它给出了相同的错误 最多 20 个重定向 这是我的代码
  • Github 下载文件夹为 zip

    如何为我的 Github 存储库的访问者提供一个链接 以将我的存储库的 builds 文件夹下载为 zip 文件 该文件夹包含应用程序所需的可执行文件 着色器和纹理 当然 我可以手动构建该目录的 zip 文件并将其添加到存储库中 但这会导致
  • 使用 ImportXml 在 Google Sheets 中抓取图像

    我正在使用 Google Sheets 尝试从房地产网站上抓取图像 以将其显示在单元格中以及房产详细信息旁边 我已经能够使用一个简单的示例证明这是可能的 但是当我尝试制定 xpath 查询来抓取我需要的特定图像时 我不断收到错误 作为一个工
  • php 登录curl 代码未按预期工作

    我正在尝试使用 php 中的curl 函数登录到特定页面 请检查下面的代码 我在 banggood com 连接我的电子邮件和密码 然后我想重定向到另一个私人页面 但它无法按预期工作 我没有收到任何错误 我被重定向到此页面 https ww
  • 在 .gitlab-ci.yml 上找不到curl命令

    我有一个 gitlab ci yml 文件 它创建一些 docker 镜像并将其推送到 AWS ECR 当我运行curl命令将一些工件推送到远程存储库时 它显示curl 未找到 我已经在使用 openjdk 映像进行 gradlew 构建
  • 如何使用我的服务器作为代理通过 PHP 下载文件?

    我需要我的服务器充当第三方服务器 文件最初所在的位置 和最终用户之间的代理 也就是说 我的服务器从第3方服务器下载文件 然后用户从我的服务器下载它 这将导致产生文件大小两倍的带宽 这个过程如何使用PHP来实现呢 fp fopen url r
  • Python下载器

    所以我试图编写一个脚本来使用 python 下载图片文件 我使用谷歌找到了这个 def 但是我下载的每张图片都 损坏 了 有任何想法吗 def download url Copy the contents of a file from a
  • 如何在PHP中使用curl GET发送原始数据?

    我正在开发 REST API 虽然很容易在 cURL 中为 POST 请求设置原始 JSON 数据 payload json encode array user gt data attach encoded JSON string to t
  • 如何使用 cURL(或任何命令行工具)通过 OAuth 身份验证将 HTTP Post 发送到 Twitter?

    我希望使用命令行应用程序 例如cURL http en wikipedia org wiki CURL cURL 在我的测试 Twitter 帐户上发布一些测试帖子 我也希望通过 OAuth 身份验证来做到这一点 我怎样才能做到这一点 假设
  • Google 文档从脚本调用 ImportXML

    我在 google 文档表中使用 ImportXML 从 sistrix api 获取数据 它工作正常 但我遇到了一张纸中 50 个 ImportXML 命令的限制 因此 我使用了一个脚本 将 ImportXML 命令写入单元格 临时 公式
  • 学院/大学数据 API [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试构建一个应用程序 允许用户查找特定大学并查看有关该大学的数据 录取率 SAT 分数 规模等 但
  • Javascript 链接在 selenium excel vba 中没有响应

    我正在尝试做这样一行点击 javascript 链接的操作 FindElementById ctl00 ContentPlaceHolder1 LinkButton4 WaitDisplayed True 3000 Click 这条线没有任
  • PHPQuery WebBrowser 插件 - 使用 cookies

    我正在尝试使用 PHPQuery 的 WebBrowser 插件登录网站 我能够成功登录 但我不确定如何重用上一次调用中的 cookie 到下一次调用 client phpQuery browserGet https website com
  • 从html中获取属性字符串值

    我正在构建一个宏来使用从网站提取数据vba questions tagged vba 目前 我可以使用元素语法轻松地从表内容中获取值 例如obj getElementsByTagName td innerText 但是 当某些单元格中有一些
  • 如何从特定 Sourceforge 项目下载所有文件?

    在花了大约一个小时从 sourceforge 下载几乎每个 Msys 包之后 我想知道是否有更聪明的方法来做到这一点 是否可以使用 wget 来实现此目的 我已经成功地使用了这个脚本 https github com SpiritQuadd
  • BaseSpider 和 CrawlSpider 的区别

    我一直在尝试理解在网页抓取中使用 BaseSpider 和 CrawlSpider 的概念 我已阅读docs http doc scrapy org en latest topics spiders html但没有提及BaseSpider
  • 找不到 CURL NSS 客户端证书 myCert

    我正在尝试使用curl 访问https 地址 将我的证书传递给它并使用我自己的信任库 我们有自己的CA 验证服务器的证书 我现在以 root 身份运行 curl v cert home cdfoote myCertificate pem m
  • 致命错误:未捕获错误:调用未定义的函数curl_version() - Localhost Dev

    我正在尝试将 stripe 集成到我的 PHP 项目中 但在 localhost 上出现此错误 Fatal error Uncaught Error Call to undefined function curl version in 我正
  • Sharepoint 上的 WebPart 在本地下载文件 - 我需要将其发送到客户端

    请帮助我在使用 Sharepoint 站点的计算机上下载文件 而不是在具有 Sharepoint 服务器的计算机上 public class WebClientBL static WebClient client new WebClient
  • 如何从网站中提取冠状病毒病例?

    我正在尝试从网站中提取冠状病毒 https www trackcorona live https www trackcorona live 但我得到了一个错误 这是我的代码 response requests get https www t

随机推荐

  • 如何将复杂的 django 查询构建为字符串

    我正在动态生成具有多个参数的查询字符串 我试图在字符串中包含对象名称 坚果 果酱 该查询必须是 OR 查询 我的代码如下 我收到如下所示的错误 解决方案here https stackoverflow com questions 18161
  • 覆盖 Hibernate 注解

    我正在开发一个使用 Hibernate 并连接到 Oracle 实例的 Java 应用程序 另一个客户希望使用相同的应用程序 但要求它在 MS SQL Server 上运行 我想避免对现有注释进行更改 而是创建一个 xml 文件包 我们可以
  • 如何从 SharePoint 自定义列表中的日期/时间列获取日期和当前时间

    我在 sharepoint 2007 的自定义列表之一中有一个名为 提交日期 的列作为日期 时间 它总是设置为今天的日期和上午 12 点时间 而不是我想显示今天的日期和当前时间 hh mm ss 我尝试创建计算列 TestDate 公式为
  • 如何从给定缓冲区解码视频? (媒体编解码器)

    我需要解码来自交错流 如 AVI 的数据 所以 这意味着我有一个以这种形状 序列 构建的容器 mp4 gt other data gt mp4 gt other data gt so on 目前我有一个基本的实现MediaCodec解码器
  • 为什么直接导航到该路线时不匹配?

    郑重声明 这是使用当前相当新的 angular router 3 0 0 alpha 8 路线定义位于帖子底部 当尝试在我的应用程序中导航时 行为会有所不同 具体取决于我是直接输入 URL 还是通过链接输入 Works 进入http loc
  • 一个人可以采用敏捷技术吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 目前正在找工作 我看到很多地方都要求敏捷经验 但在我找到使用敏捷的团队的工作之前 我怀疑我永远不会获得这种经验 是否可以仅由一个人采用敏捷方法
  • AttributeError:模块“numpy”没有属性“core”

    我想知道是否有人在运行 Spark 并尝试导入 numpy 时遇到这个问题 Numpy 在标准笔记本中正确导入 但是当我尝试通过运行 Spark 的笔记本导入它时 出现此错误 我有最新版本的 numpy 并且正在运行最新的 anaconda
  • RxJava 中的笛卡尔积

    是否有可能在rxjava中获得两个Observables的笛卡尔积 像这样的事情 A gt 1 2 3 B gt a b A x B gt 1 a 1 b 2 a 2 b 3 a 3 b 你想要的是 对于一个数字 产生与你有字母一样的一对
  • 提交 OSX 应用程序及其捆绑包中的帮助程序应用程序

    我真的要被这个问题搞疯了 我有一个应用程序 其中包含一个简单的帮助程序应用程序 用于管理主应用程序的登录项 当我尝试提交应用程序时 我收到与配置文件和权利相关的错误 我确信问题与助手应用程序有关 因为在我添加它之前 提交工作没有问题 目前
  • PHP获取下拉列表选择选项值

    在我的下拉列表中 每个选项都有两个不同的值 我怎样才能检索两者 让我来说明一下我的意思
  • 从 Html 源在 Excel 中创建注释

    因此 可以从 Html 创建 Excel 文件 我发现很多事情都是可能的 比如添加图像 格式化等 只需一些 css 调整 然而 我现在想做的是让小红色三角形评论显示出来 我创建了一个空白的 Excel 文件 除了注释之外什么都没有 但它生成
  • 在 python 中向量化 for 循环

    我是 python 的新手 有一个关于向量化代码的问题要问 def makeNames2 nList for nLi in nList nLIdx i for i j in enumerate nList if j nLi if nLIdx
  • 如何将 MapView 从像素缩放到米

    我正在制作一个使用 Google Maps API 的 Android 应用程序 我想将 MapView 缩放到 X pixels X meters 例如 我的屏幕中 MapView 的 5 像素 实际距离为 20 米 那可能吗 Thx 使
  • React table v7固定列与react-window

    我有一张带有react table v7 的表 使用react window进行虚拟化 现在表的最后一列已修复 但我无法修复表的最后一列 React window 的内部元素有overflow auto这不会让色谱柱最终变得粘稠 这是lin
  • VisualStateManager WPF 不工作

    我专门在 VS Blend 2017 设计器中设计了一个窗口 没有对 XAML 代码进行任何更改 我创建了一个 StateGroup 和一个 State 并记录了 Button 上的更改 当尝试从代码隐藏应用状态时 没有任何反应 我也看过同
  • 我的基于角色的访问控制是可行的解决方案吗?

    我正在我的 PHP 项目中设计一个非常简单的 RBAC 基于角色的访问控制 系统 经过一番思考后 我想出了一个解决方案 但是对构建业务系统了解不多 我不确定是否有或可能是我的解决方案的任何重大设计缺陷 基本上 我想为用户提供一组 角色 我将
  • 即使关闭 android studio 后,Gradle 仍将 java 作为一个进程

    On mac system whenever i close android studio it leaves java process and java process keep running and keep hogging the
  • MATLAB - 相关属性和计算

    假设我有以下类来计算二次方程的解 classdef MyClass lt handle properties a b c end properties Dependent true x end methods function x get
  • Multer文件上传错误,请求挂起

    我以前从未写过问题 因为我总是在提问之前在这里找到问题的答案 然而 我在 Express 上的文件上传 POST 路由上的 fileFilter 函数上遇到了困难 我在路由中使用了 multer 上传功能 也作为中间件 后面有一个错误处理中
  • httrack wget 卷曲抓取和获取

    互联网上有许多工具可用于下载网站的静态副本 例如 HTTrack 还有许多工具 其中一些是商业工具 用于从网站 抓取 内容 例如 Mozenda 还有一些显然内置于 PHP 和 nix 等程序中的工具 您可以在其中 file get con