Tag: perl

根据DOM标准下载链接的递归Web下载

MSDN是一个庞大的分层文档站点。 更准确地说,内容是以分层方式组织的,但URL不是。 URL空间是平的,使得它看起来像是在同一目录中。 (实际上,可能没有目录;我想事情是从其他数据库出来的;但这在这里并不重要。) 因此,如果你想下载部分MSDN,比如说NMake手册 ,你不能只是递归地下载给定目录下的所有内容。 因为那将是MSDN的全部。 你的硬盘和带宽太多了。 但是你可以编写一个查看DOM(HTML)的脚本,然后只跟踪并下载文档某些导航部分中包含的那些链接,比如CSS class属性toc_children和toc_siblings ,但不包括toc_parent 。 你需要的是一些允许你说的下载器: $webclient->add_links( $xpath_expression ); # or $webclient->add_links( $css_selector ); 使用Perl,LWP和XML :: LibXML(HTML解析器)拼凑一些东西应该不会太难,但也许你知道一个允许你这样做的工具,所以我不需要重新发明它。 它不一定是Perl,任何其他语言都可以,也是一个现成的程序,具有这项工作所需的灵活性。

如何从文本块中删除dupes

什么是在文本文件中删除块内的欺骗的智能和简单方法。 每个块由两个换行符分隔。 之前: apple banana apple cherry cherry delta epsilon delta epsilon apple pie delta delta 后: apple banana cherry delta epsilon apple pie delta 谢谢。 应该在Mac上工作。 允许unicode。 任何shell方法/语言/命令。 Dupes不一定是连续的。 如果忽略前导/尾随空格,可以使用奖励,或者可以使用逗号作为记录中的分隔符。

如何删除XML :: Simple输出中的标记?

我正在使用Perl和XML :: Simple模块创建XML文件。 我成功创建了XML文件,但问题是我的每个标签都有 标签。 我正在寻找任何可以避免 标签的选项。 我不能进行后处理来删除标签。 因为文件很大。 示例: joe@smith.com jsmith@yahoo.com bob@smith.com 我正在寻找(没有标签): joe@smith.com jsmith@yahoo.com bob@smith.com

为什么宇宙飞船运营商只有一个等号?

为什么太空船运营商选择有一个等号而不是两个? 这被视为与一个通常意味着赋值的一个等号不一致,还有两个意义比较?

仅使用cron:/ usr / bin / env:ruby_executable_hooks:没有这样的文件或目录

我有一个perl脚本,它使用system()来调用shell命令,该命令使用ruby_executable_hooks。 当我从命令行运行此脚本时,它执行完美。 但是当它从一个cron作业运行时,我得到两个错误之一:A)如果我没有chdir()即。 工作目录是/ home / foobar /usr/bin/env: ruby_executable_hooks: No such file or directory B)如果我是chdir(“[doc root] / cgi-bin”) /usr/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error’: Could not find RubyGem twurl (>= 0) (Gem::LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate’ from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:1082:in `gem’ from /home/foobar/.rvm/gems/ruby-1.9.3-p551/bin/twurl:22 from /home/foobar/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/gems/1.9.1/bin/ruby_executable_hooks:15 从cron运行时它无法找到某些文件的原因是什么?

在Win32上,如何使用Perl,Python或Ruby(或C)检测是否按下了Left Shift或Right ALT?

在Win32上,我想知道如何使用Perl,Python或Ruby(甚至在C)中检测是否按下了Left Shift或Right ALT? 不仅适用于当前窗口,还适用于整体环境。 示例:当我输入文档时,我可以按下右键ALT启动用Ruby编写的音乐播放器,然后再次按下右键ALT,它可以暂停或停止程序。 谢谢。

Perl – Ruby映射?

我参与了一个新的项目,其中Perl是必须的。 我来自一个很好的Ruby基础,想要在Perl和Ruby之间快速介绍或映射,因为我听说Perl和Ruby的语法非常接近(对function一无所知)。 你有什么建议吗? 你推荐什么伟大的Perl书作为扩展参考? 现在常用的Perl版本是什么?

是否有像Perl的LWP for Ruby这样的模块?

在Perl中有一个LWP模块 : libwww-perl集合是一组Perl模块,它为万维网提供简单而一致的应用程序编程接口(API)。 该库的主要重点是提供允许您编写WWW客户端的类和函数。 该库还包含更常用的模块,甚至包含可帮助您实现简单HTTP服务器的类。 Ruby有类似的模块(gem)吗? 更新 以下是我从特定网站中提取URL的function示例。 use LWP::UserAgent; use HTML::TreeBuilder 3; use HTML::TokeParser; sub get_gallery_urls { my $url = shift; my $ua = LWP::UserAgent->new; $ua->agent(“$0/0.1 ” . $ua->agent); $ua->agent(“Mozilla/8.0”); my $req = new HTTP::Request ‘GET’ => “$url”; $req->header(‘Accept’ => ‘text/html’); # send request $response_u = $ua->request($req); die “Error: “, $response_u->status_line unless $response_u->is_success; my […]

将URL输出的JSON保存到文件中

如何将URL输出的JSON保存到文件中? 例如来自Twitter搜索API(此http://search.twitter.com/search.json?q=hi ) 语言并不重要。 编辑//我如何向EOF追加更新? 编辑2 //真的很棒的答案,但我接受了我认为最优雅的那个。

脚本编写HTTP更有效

通常我想自动化http查询。 我目前使用Java(和commons http客户端),但可能更喜欢基于脚本的方法。 一些非常快速和简单的东西。 在哪里我可以设置标题,转到页面而不用担心设置整个OO生命周期,设置每个标题,调用html解析器…我正在寻找任何语言的解决方案,更喜欢脚本