如何使用 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 截取网页屏幕截图? 的相关文章

  • Parse::RecDescent 语法未按预期工作

    我所能做的就是 STRING PARAMS VARIABLE 和 FUNCNAME FUNCTION 似乎有问题 但我就是看不到它 use strict use Parse RecDescent RD ERRORS 1 Make sure
  • 如何使用 Perl 正则表达式匹配字符串末尾/开头处的空格或单词?

    我想找到与我的正则表达式匹配的序列 它们应该位于由空格包围的字符串中间 末尾或开头或者是字符串中唯一的东西 Example 我们假设序列 qwe45rty 就是我们正在寻找的 我希望能够对所有这些因素都抱有积极的态度 qwe45rty qw
  • 如何用perl逐句读取文本文件?

    我想逐句读取文本文件 我的问题是下面的代码仅根据时期分开 usr bin perl use strict use warnings my file data txt open FILE file my buffer while my sen
  • 在 qx 运算符中将 perl 数组拆分为单独的参数

    我试图将一组参数传递给qx操作员 考虑 my files qw A txt B txt print qx ls files 这给出了错误 ls cannot access A txt B txt No such file or direct
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g
  • Perl:测试输入阅读器?

    有没有一种方法可以使用标准 Test 等模块自动测试 Perl 程序是否正在读取输入 例如标准输入正确吗 例如 测试一个从 STDIN 读取两个整数并打印它们之和的程序 这不是 100 清楚你的意思 我会回答假设你想编写一个测试脚本来测试你
  • 检查一个数字是 int 还是 float

    在perl中 我想检查给定变量是否包含浮点数 为了检查我正在使用的 my Var 0 02 Floating point number if int Var Var floating point number 但上面的代码对于 0 0 不起
  • Perl 语言的目标是在运行时生成快速的程序吗?

    最近有朋友告诉我 看 Perl 从来就不是为了快而设计的 真的吗 我能找到的相关信息是来自维基百科 http en wikipedia org wiki Perl Overview 该语言旨在实用 易于使用 高效 完整 而不是美观 微小 优
  • Perl LWP GET 或 POST 到 SNI SSL URL

    我有一个使用 perl LWP 向客户发送数据的系统 他们可以选择 URL 以及是 POST 还是 GET 一位新客户最近抱怨该服务不起作用 他们怀疑这是因为他们的端点使用了 SNI SSL 查看日志 我看到的只是错误消息 证书验证失败 5
  • Perl:正则表达式不抓取代码中的多行 C 风格注释

    我有一个 Perl 程序 读取用 C 编写的 SRC 文件 使用 SRC 文件中的正则表达式匹配来查找特定格式的数据以用作目标文件名 打开新的目标文件 执行另一个正则表达式匹配以查找包含关键字 abcd 的所有 C 风格注释 注意 这些注释
  • Perl 程序如何知道在哪里可以找到包含它使用的 Perl 模块的文件?

    如果我的 Perl 程序使用 Perl 模块 它将如何确定在哪里找到包含模块代码的文件 例如 如果程序包含 use MyModule1 Example 1 use This Here MyModule2 Example 2 它会看起来在哪里
  • 如何在 Perl 中循环访问类的所有方法?

    如何在 Perl 中循环访问一个类的所有方法 有没有关于 Perl 内省或反射的好的在线参考 Todd Gardner 使用 Moose 的建议很好 但他选择的示例代码并不是很有帮助 如果你正在检查一个非 Moose 使用类 你会这样做 u
  • 按值和键对哈希进行排序(按顺序)

    我正在寻找一种很好的方法来在 Perl 中先按值排序 然后再按键排序 Example my userids williams gt Marketing smith gt Research johnson gt Research jones
  • 打包/解包 - 小端 - 64 位 - 问题

    usr bin env perl use warnings use 5 012 my var 1 lt lt 31 say unpack B pack N var 10000000000000000000000000000000 我怎样才能
  • 从具有多行记录的文件中提取数据,将每个范围保存到单独的文件中

    我有一个看起来像这样的文件 TRANSACTION STARTED 020t CARD INSERTED 020tCARD 5845 DATE 01 02 16 TIME 05 45 52 05 46 26 GENAC 1 ARQC EXT
  • 为什么 Perl 的 LWP 给我的编码与原始网站不同?

    可以说我有这个代码 use strict use LWP qw get my content get http www msn co il print STDERR content 错误日志显示类似 xd7 x9c xd7 x94 xd7
  • 我可以在 Perl 中访问动态指定类中的静态方法吗?

    是否可以在 Perl 中动态指定一个类并访问该类中的静态方法 这不起作用 但说明了我想做的事情 use Test Class1 my class Test Class1 class static method 我知道我可以这样做 class
  • 打印出匿名子程序的代码

    我目前正在一个非常复杂的 Perl 架构中工作 我想创建一些调试工具 由于许多行为涉及匿名子例程 因此我想分析其中一些行为 而我所要做的就是对子例程的引用 简而言之 有没有办法打印子例程引用的代码 因为 Perl 被解释 它可能仍然可用 核
  • 在 Perl 中检测全局破坏

    我想检测我的物体是否被DESTROY作为全局破坏的一部分 并打印出警告 因为这显然是一个错误并导致数据丢失 显而易见的方法似乎是 sub DESTROY my self shift if i am in global destruction
  • Perl:非阻塞管道 - 只收到一条消息

    几周前我问了一个关于实现非阻塞单父多子管道的问题 mob 巧妙地回答了这个问题here https stackoverflow com questions 52723489 perl one parent many children sin

随机推荐

  • 如何在 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