我可以使用 Watir 在没有监视器的情况下从 Linux 服务器上的网站上抓取数据吗?

2023-11-25

我可以使用 Watir 从网站(使用 AJAX)抓取数据,但在没有监视器的 Linux 服务器上吗? (linode.com)?


做这件事有很多种方法:

  1. Use HtmlUnit, 任何一个Celerity or watir 网络驱动程序(通过远程 Selenium2/WebDriver 服务器).

  2. 使用真正的浏览器+虚拟X服务器(Xvfb)。我建议使用watir 网络驱动程序的 Firefox 驱动程序和Headlessgem 提供了一种从 Ruby 控制此操作的简单方法。

这基本上是速度和真实性之间的权衡。就我个人而言,如果网站有任何复杂的 JavaScript 或无效的 HTML,我会选择#2,但这两种方法都值得研究。

对于未来,我会继续关注这个项目,这看起来是一个很棒的主意。

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

我可以使用 Watir 在没有监视器的情况下从 Linux 服务器上的网站上抓取数据吗? 的相关文章

  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从
  • 如何清理 Runtime.exec() 中使用的用户输入?

    我需要通过命令行调用自定义脚本 这些脚本需要很少的参数并在 Linux 机器上调用 当前版本容易出现各种shell注入 如何清理用户给出的参数 参数包括登录名和路径 Unix 或 Windows 路径 用户应该能够输入任何可能的路径 该路径
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • _dl_runtime_resolve -- 共享对象何时加载到内存中?

    我们有一个对性能要求很高的消息处理系统 最近我们注意到第一条消息比后续消息花费的时间要长很多倍 当它通过我们的系统时 会发生大量转换和消息增强 其中大部分是通过外部库完成的 我刚刚描述了这个问题 使用 callgrind 将仅一条消息的 运
  • OS X 对 /usr/local/lib 的权限被拒绝

    我正在寻找有关权限问题的任何建议 直觉 线索 答案 自从我切换到新的 Macbook Pro 以来 这个问题一直困扰着我 这就是困境 某些程序在安装期间复制 usr local lib 下的库 并且在运行这些程序时出现崩溃 我认为这与此文件
  • 如何更改 Kubernetes 中的文件系统观察程序限制 (fs.inotify.max_user_watches)

    我在用着pm2 https github com Unitech pm2查看保存我的应用程序服务器的 NodeJS 程序源代码的目录 该程序在 Kubernetes 集群中运行 但是 我收到此错误 ENOSPC System limit f
  • Linux shell 标题大小写

    我正在编写一个 shell 脚本并有一个如下所示的变量 something that is hyphenated 我需要在脚本中的各个点使用它 如下所示 something that is hyphenated somethingthati
  • Docker 容器可以访问 DNS,但无法解析主机

    我在运行 docker 容器时遇到一个有趣的问题 突然间 我无法从容器内解析 DNS 这是一个概要 一切都没有解决 apt get pip 一次性 ping 容器等正在运行docker run it dns 8 8 8 8 ubuntu p
  • CMake:使用其他平台的生成器。如何?

    如何使用 CMake 在 Linux 上生成 Visual Studio 项目文件 你不能 您必须在 Windows 上运行 CMake 才能为 Visual Studio 生成
  • 对于客户端服务器程序,并行接收多个客户端连接请求的最佳方法是什么?

    该程序是在 Linux 上用 C 语言开发的客户端服务器套接字应用程序 每个客户端都连接到一个远程服务器并将其自身记录为在线 在任何给定时间点很可能有多个客户端在线 所有客户端都尝试连接到服务器以将自己记录为在线 忙碌 空闲等 那么服务器如
  • Tk 初始化失败:无显示名称且无 $DISPLAY 环境变量

    我试图从 Ubuntu 终端调用 Centos 服务器上的工具 我收到以下错误 Tk 初始化失败 没有显示名称 也没有 DISPLAY 环境变量 请帮我解决这个问题 提前致谢 连接到你的 CentOS 机器ssh Y其中 每man ssh
  • 如何从 Linux 命令行打开 Sublime Text 2 文件到选项卡,而不是新窗口

    我有 ST2 设置 这样我就可以执行 sublime file txt 它将在 ST2 窗口中打开 但是我怎样才能让它在当前打开的窗口的新选项卡中打开呢 尝试 Sublime 命令行帮助 subl 帮助 Sublime Text 2 内部版
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • BlueZ D-Bus C,应用 BLE

    我正在尝试编写一个应用程序来搜索附近的蓝牙设备并与它们通信 我的应用程序将用 C 语言编写 并打算在 Linux 下工作 是否有通过 C 中的 D Bus 使用 BlueZ 的教程或示例 此应用程序的目的是从 BLE 中的文件发送数据 你能
  • 无法使用 tar -cvpzf 解压完整目录

    把我的头敲在这上面 I used tar cvpzf file tar gz压缩一个完整的目录 我将文件移动到另一台服务器 并尝试解压缩复制存档的目录 无法使其发挥作用 bash 3 2 tar xvpzf news tar gz tar
  • 如何使用 shell 脚本解压所有 .tar.gz?

    我试过这个 DIR path tar gz if ls A DIR 2 gt dev null then echo not gz else tar zxvf path tar gz C path tar fi 如果该文件夹有一个 tar 则
  • Bash 脚本错误 [重复]

    这个问题在这里已经有答案了 我想知道下面的脚本有什么错误 我收到错误为 command not foundh line 1 command not foundh line 2 其连续的 我试过添加 但现在工作请告诉我该怎么做 bin bas
  • 有没有办法以编程方式下载网页的部分内容,而不是整个 HTML 正文?

    我们只需要 nytimes com technology 上的 HTML 文档中的特定元素 该页面包含许多文章 但我们只想要文章的标题 该标题位于 如果我们使用 wget cURL 或任何其他工具或某些包 例如Python 中的请求 htt
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

    Python 的 fcnt 模块提供了一种名为 flock 1 的方法来证明文件锁定 其描述如下 对文件执行锁定操作op 描述符 fd 文件对象提供 fileno 方法被接受为 出色地 请参阅 Unix 手册集群 2 了解详情 在某些系统上

随机推荐

  • AWS Athena 上的 OFFSET

    我想在 AWS Athena 上运行查询LIMIT and an OFFSET条款 我认为前者受到支持 而后者不是 有没有办法使用其他方法来模拟此功能 Using OFFSET分页效率非常低 特别是对于像 Presto 这样经常需要执行全表
  • Dataflow/Apache Beam 在哪个阶段确认 pub/sub 消息?

    我有一个数据流流作业 其中 Pub Sub 订阅作为无限源 我想知道数据流在哪个阶段确认传入的发布 订阅消息 在我看来 如果在数据流管道的任何阶段抛出异常 消息就会丢失 另外 我想知道如何使用发布 订阅无界源编写数据流管道的最佳实践 以便在
  • R 编程:predict(),“预测”与“置信度”?

    无论如何学习 R 在只有 x 和 y 的简单回归中 我输入 predict data1 lm interval prediction and predict data1 lm interval confidence 我很困惑有什么区别 我在
  • Docker maven 插件 ClientProtocolException(Windows 10 使用 Docker Toolbox)

    我正在尝试使用 docker maven plugin 构建 docker 映像 由 spotify 提供 https github com spotify docker maven plugin 但事情并没有真正解决 起初我得到了这个例外
  • @WithMockUser 具有自定义用户实现

    我正在使用 spring OAuth2 和 JWT 令牌来保护应用程序 我正在延长org springframework security core userdetails为了向令牌添加一些附加属性 然后可以使用这些属性来执行授权 调用端点
  • 将 2D 数组转换为具有重叠步长的 3D 数组

    我将使用 NumPy 或本机函数将 2d 数组转换为包含前几行的 3d 数组 Input 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Output 7 8 9 4 5 6 1 2 3 10 11 12 7 8 9
  • 为什么 Microsoft 选择 stdcall 作为他们的 API 约定?

    有充分的理由吗 它们的内部函数 未导出 也是 stdcall 约定吗 它是对 32 位代码的 pascal 调用约定的改编 Pascal 是 OS 2 和 Windows 3 等 16 位操作系统的调用约定 为什么选择 pascal 有点猜
  • 内省以获取方法上的装饰器名称?

    我试图弄清楚如何获取方法上所有装饰器的名称 我已经可以获得方法名称和文档字符串 但无法弄清楚如何获取装饰器列表 我很惊讶这个问题这么老了 没有人花时间添加实际的内省方法来做到这一点 所以这里是 您要检查的代码 def template fu
  • 如何在Python中跳过单个循环迭代? [复制]

    这个问题在这里已经有答案了 我有以下代码 for i in list1 if i 5 skip the NEXT iteration not the end of this one else do something 如何跳过引发跳过的迭代
  • 使用 VBScript 在单个文件夹中查找最新文件日期

    我如何修改此 VBScript 以仅返回最新文件的名称和上次修改日期 目前 它返回过去 24 小时内修改的任何内容 我只想查找最新的文件 我从 StackOverflow 借用了它 但还不是 VBScript 向导 option expli
  • 尝试在 iPad 上显示后置摄像头时应用程序冻结

    我正在开发的应用程序可以在 iPhone 和 iPad 上运行 该应用程序具有的功能之一是从相机捕获图像 我正在使用 UIImagePickerController 来实现此功能 这是我的代码块 self imagePicker sourc
  • 如何将 2 个或更多 C# 程序集合并到 1 个库中?

    我有4个dll 但我想要 1 个 dll 其中包含所有 4 个 dll 的代码 我尝试添加一个项目并将所有现有代码复制粘贴到一个项目中 但我做不到 看看ILMerge ILMerge 是一个用于将多个 NET 程序集合并为一个实用程序 单个
  • Java 多个可变长度参数

    今天之前在处理可变长度参数时我还没有看到过具体的事情 例如 有一个名为准备好的语句的方法 其声明如下 1 String prepareStatement String columnNames String values String col
  • 如何使用 PHP 清理用户输入?

    是否有一个包罗万象的功能 可以很好地清理用户输入的 SQL 注入和 XSS 攻击 同时仍然允许某些类型的 HTML 标签 Answer recommended by PHP Collective 认为用户输入可以被过滤是一个常见的误解 PH
  • WCF 服务授权模式

    我正在实施安全的 WCF 服务 身份验证是使用用户名 密码或 Windows 凭据完成的 该服务托管在 Windows 服务进程中 现在 我正在尝试找出最好的实施方法授权对于每个服务操作 例如 考虑以下方法 public EntityInf
  • 将一些字符串插入到给定索引处的给定字符串中[重复]

    这个问题在这里已经有答案了 如何在现有字符串中插入一些文本 例如 假设我有一个字符串 Name Age Group Class Profession 如何在第四个单词之前再插入第三个单词三次 以获得 Name Age Group Group
  • gcc 的 -fforce-mem 选项

    gcc v 4 5 3 是否仍然支持 fforce mem 选项 我正在尝试构建使用此选项的 libmad MP3 解码器 谷歌搜索显示对此选项的引用 但是在线海湾合作委员会文档不要显示它 From GCC 4 3 发行说明 fforce
  • 如何实现 Google Play 图书中使用的卷页类型?

    我一直在寻找一种合适的方法来模拟 iOS 应用程序中但在 Android 应用程序中使用的页面翻转 卷曲类型 我在 Android 上见过的最接近的应用是 Google Play 图书应用 他们是否使用了我没见过的 SDK 的某些部分 我是
  • 在 Redux 中使用 getState 是一种反模式吗?

    我第一次在 jQuery 应用程序中使用 Redux 并且创建了小型可观察的实现 可观察对象响应状态对象的多个属性的更改 当状态本身更改时对 DOM 进行更改 如果我的可观察回调需要 2 个属性值来完成其任务 我将观察这两个值 然后使用这些
  • 我可以使用 Watir 在没有监视器的情况下从 Linux 服务器上的网站上抓取数据吗?

    我可以使用 Watir 从网站 使用 AJAX 抓取数据 但在没有监视器的 Linux 服务器上吗 linode com 做这件事有很多种方法 Use HtmlUnit 任何一个Celerity or watir 网络驱动程序 通过远程 S