如何使用 Perl 截取网页屏幕截图?

2024-01-16

是否可以用 Perl 编写一个脚本来打开不同的 URL 并保存每个 URL 的屏幕截图?


你可以使用WWW::机械化::Firefox http://search.cpan.org/perldoc?WWW::Mechanize::Firefox控制 Firefox 实例并转储渲染的页面$mech->content_as_png.

但请注意,设置它可能会带来很大的挑战。

如果一切按预期工作,您可以简单地使用这样的脚本来转储所需网站的图像,但您应该启动 Firefox 并手动将其大小调整为所需的宽度(高度并不重要,WWW::Mechanize::Firefox 总是转储整个页面)。

use WWW::Mechanize::Firefox;
use Path::Class qw/file/;

my $mech = WWW::Mechanize::Firefox->new(
  bufsize => 10_000_000, # PNGs might become huge
);
$mech->get('http://www.stackoverflow.com/');

my $fh = file( 'test.png' )->open( '> :raw' );
print $fh $mech->content_as_png();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Perl 截取网页屏幕截图? 的相关文章

  • 在 Perl 中实现 CLI 工具的最佳实践是什么?

    我正在使用 Perl 实现 CLI 工具 我们可以遵循哪些最佳实践 作为前言 我花了 3 年时间为一家大型金融公司设计并实现了一个相当复杂的 Perl 命令行工具集 以下想法基本上是我们团队设计指南的一部分 用户界面 命令行选项 允许尽可能
  • 检查程序是否正在运行,如果不在 perl 中则运行它

    我想知道如何检查程序是否正在运行 如果没有则运行该程序 使用 Kill 函数向要检查的进程 ID 发送 0 零 信号 如果进程存在 函数返回true 否则返回false Example check if process 1525 is ru
  • 在 Perl 中将整个文件读入哈希值

    我在 Perl 中将文件读入哈希时遇到一些问题 Chr1 supercontig 000000000 1 500 PILOT21 588 1 3 14602 59349 1 Chr1 supercontig 000000001 5 100
  • Perl:散列 2 中数组的数值排序(施瓦茨变换)

    这实际上是该线程的后续内容 Perl 散列中数组的数字排序 https stackoverflow com questions 7914931 perl numerical sort of arrays in a hash 我无法编辑原始问
  • 在 Perl 中查找标量变量的数据类型

    我有一个接受用户输入的函数 输入可以是整数 浮点数或字符串 我有三个重载函数 应该根据输入数据的数据类型调用它们 例如 如果用户输入一个整数 比如100 则应该调用具有整数参数的函数 如果用户输入字符串 例如 100 则应调用具有字符串参数
  • 如何在 Perl 中的不同包之间共享全局值?

    是否有一种标准方法可以对模块进行编码以保存要包含在每个其他包中的全局应用程序参数 例如 use Config 一个简单的包 只包含our变量 只读变量怎么样 已经有一个标准配置模块 http perldoc perl org Config
  • Perl 如何存储/处理非常大的数字?是否应该使用模块来代替 Perl 的默认处理方法?

    我需要添加 50 位数字 因此我将它们作为 字符串 处理 并编写了自己的函数将它们相加 后来 为了它的地狱 我尝试了这个 readFile shift ARGV sub readFile my file shift contains a b
  • “get”在 Perl 中不起作用

    我是 Perl 新手 在过去的几天里 我制作了一些简单的脚本 通过 get 将网站的源代码保存到我的计算机上 他们做了他们应该做的事情 但不会获得论坛网站的内容 非论坛网站工作得很好 知道发生了什么事吗 这是问题块 my url http
  • 单台机器最快的 Perl IPC/消息队列是多少?

    我正在开发一个 主要 Perl 项目 并希望使用消息队列来相互隔离进程 我有这样的工作流程 输入 gt 接收器 gt 处理器 gt 输出 我需要每秒处理数百笔交易 所以速度是我最大的动力 对于这种类型的设置来说 最快的消息队列系统是什么 我
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • 如何将 cpanminus 与本地 CPAN::Mini 一起使用?

    我已经创建了自己的 CPAN 本地副本minicpan http search cpan org rjbs CPAN Mini 1 111007 bin minicpan并设法重新配置 cpan 来使用它 太棒了 但是我将如何使用它cpan
  • 在 Objective-C 中使用 perl?

    CPAN 有大量非常有用的库 除了将它们移植到 Objective C 之外 是否还有在 iOS 上将 Perl 代码嵌入到 Objective C 中的方法 我对使用特别感兴趣电子表格 阅读 http kobesearch cpan or
  • Perl LWP::简单 HTTPS 错误

    我正在尝试获取网站的内容并打印 该代码按照我希望的方式在常规 HTTP 网站上运行 但它不适用于 HTTPS 我已经查找了此问题的修复程序 但它们在我的程序中不起作用 这是我目前拥有的代码 usr bin perl use strict u
  • 更新命令行输出

    我的程序 碰巧是用 Perl 编写的 尽管我不认为这个问题是 Perl 特定的 在程序中的某一点输出状态消息 Progress x yy where x and yy是一个数字 例如 Progress 4 38 我想在打印新的状态消息时 覆
  • Perl Moose TypeDecorator 错误。我该如何调试?

    我最近遇到了一个问题 非常感谢您的见解 我在圣诞节前在 PerlMonks 上发布了类似的问题 并提供了一些从 MooseX Declare 切换的反馈 http www perlmonks org node id 877703 1 我现在
  • Perl 删除目录中的所有文件

    我怎样才能删除allPerl 中目录中的文件 不删除目录 我的主机只允许最多 250 000 个 文件 而我的 tmp 文件夹会在所有会话 cookie 运行的情况下快速填充 250 000 个 qouta 在这种情况下我无法删除 tmp
  • 使用perl,在每行都有相同单词的情况下如何选择最后两行?

    Bini 21 89753 20 47853 20 27835 18 34952 16 23454 Bini 16 89753 14 47853 13 27835 12 34952 11 23454 Bini 10 09014 我的文件有一
  • Path::Class::File 或 ::Dir & Moose 初始化和强制

    目前有 package Local use warnings use Moose use Method Signatures Simple use Path Class File use Path Class Dir method buil
  • Perl 中可以使用哪种语法糖来减少左/右值运算符与 if 语句的代码?

    那里有很多语句 因为 Perl 是一种非常甜蜜的语言 但任何语言中最常用的语句都是 if 语句和设置值的组合 我想我已经找到了很多 但仍然存在一些空白 最终 目标是不必多次编写变量名 这是我到目前为止所拥有的 r s r s unless
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042

随机推荐

  • 如何在 scikit-learn(用于计算机视觉)中使用自己的数据集?

    如何在 scikit learn 中使用我自己的数据集 Scikit教程总是以加载他的数据集 数字数据集 花卉数据集 为例 http scikit learn org stable datasets index html http scik
  • 如何标准化 Wordnet 中的相似性度量

    我正在尝试计算两个单词之间的语义相似度 我正在使用基于 Wordnet 的相似性度量 即 Resnik 度量 RES Lin 度量 LIN Jiang 和 Conrath 度量 JNC 以及 Banerjee 和 Pederson 度量 B
  • Laravel hasMany 与 where 处于多态关系

    我有 3 张桌子 汽车 公寓和商店 每张桌子都有它的照片 照片存储在数据库中 我只想使用一张照片表 我不想为每辆汽车 公寓和商店创建照片表 Photos表结构是这样的 id photo url type destination id 1 h
  • 如何在 Windows 版 Git Bash 中更改 RGB 颜色?

    我在 Windows 中使用 Git Bash 并用于我的自定义目的git log格式 我想修改终端的确切 RGB 颜色值 以便我可以微调颜色输出 我的全局git日志格式如下 gitconfig lg1 log graph abbrev c
  • 如何更改javafx TextField中文本的颜色?

    我想更改 TextField 中的字体颜色 我发现 fx background color fx border color用于更改背景和边框的颜色 但不用于更改文本 设置 fx text fill对我有用 见下文 if passed res
  • 如何定位特定 div ID 的标题?

    我正在尝试使用与页面其余部分的标题不同的字体系列来设置标题中的所有标题的样式 但我无法使样式仅适用于特定的标题 ID 这是我尝试过的 header h1 h2 h3 h4 font family Helvetica 但这会导致所有 h1 2
  • 存储数百万张图像[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 扩展 UserPrincipal 类

    我扩展了 UserPrincipal 类来检索我需要的一些缺失的属性 DirectoryObjectClass user DirectoryRdnPrefix CN class UserPrincipalExt UserPrincipal
  • 如何消除 OSX10.10 SDK 中的 module.map 警告?

    自从将 Xcode 更新到版本 6 3 以来 我在编译 C 代码时收到以下警告 Applications Xcode app Contents Developer Platforms MacOSX platform Developer SD
  • 使未定义的变量在 php 中成为错误

    我有以下代码片段 它打印出一个警告bla未定义 但随后继续 我希望 php 在遇到未定义的变量时抛出错误并停止代码执行 怎么做 以上只是一个例子 我想处理数千个块内的每个未定义变量 您可以编写自己的错误处理程序 并在遇到此类通知时使其停止执
  • 如何从标准输入中提取 tar 存档?

    我有一个很大的 tar 文件split 是否有可能cat并使用管道解压文件 就像是 cat largefile tgz aa largefile tgz ab tar xz 代替 cat largefile tgz aa largfile
  • Android WebView 加载失败 (net::ERR_CLEARTEXT_NOT_PERMITTED)

    有人能帮助我吗 我在 Android 应用程序中使用 WebView compileSdkVersion 29 buildToolsVersion 29 0 0 minSdkVersion 16 targetSdkVersion 29 我在
  • Xcode UI 测试 - 使用 addSubview 添加的 Uiview 对于 UI 测试完全不可见

    我一直在尝试 XCode 7 3 上的新 UI 测试 并且发现了对我来说似乎是一个错误 问题是通过 添加的视图 添加子视图 方法对于UI测试系统来说似乎是完全不可见的 我有这样的看法 这个 UIview 创建代码 let container
  • 如何使用 *ngFor 迭代对象键?

    我一直在挖掘 发现我可以使用以下方法在对象上使用 ngFor div div where ObjNgFor管道是 Pipe name ObjNgFor pure false export class ObjNgFor implements
  • XHTML:将 DIV 放置在 A 标记中

    Is it alright将 div 标签放置在锚标签内 div 的内容会将页面重定向到锚标记的 href 吗 将 div 标签放在锚标签内可以吗 Yes if 您正在使用 HTML5 XHTML5 和 锚标记不在内联上下文中 即仅允许短语
  • 如何使用php从url读取xml文件

    我必须从 URL 读取 XML 文件 map url http maps google com maps api directions xml origin merchant address url destination customer
  • 从 PHP 中的函数返回多个值 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有这个函数 在调用它时返回三个值
  • Union 赋值中的不兼容类型

    Mypy 向我打印以下消息 x py 74 错误 赋值中的类型不兼容 表达式具有类型 Union str Dict str str 变量的类型为 str 是不是很奇怪 str是其一部分Union str Dict str str 代码如下
  • 从 PHP CLI 打开 Vim

    当你从提交命令中删除 m 时 如何从像 svn 和 git 那样的 CLI 打开 vim 我收到以下错误 Vim 警告 输出不是到终端 echo Please edit this file gt file name vim file nam
  • 如何使用 Perl 截取网页屏幕截图?

    是否可以用 Perl 编写一个脚本来打开不同的 URL 并保存每个 URL 的屏幕截图 你可以使用WWW 机械化 Firefox http search cpan org perldoc WWW Mechanize Firefox控制 Fi