首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Web::Scraper提取javascript

使用Web::Scraper提取javascript
EN

Stack Overflow用户
提问于 2013-05-22 11:41:29
回答 2查看 305关注 0票数 1

我在使用Web::Scraper提取javascript时遇到了问题。下面是我的测试脚本:

代码语言:javascript
复制
#!/usr/bin/perl
use Modern::Perl;
use Web::Scraper;
use Data::Dumper;

my $contents = do { local $/; <DATA> };
my $scraper = scraper { process "//script", "scripts[]" => 'TEXT'; };
my $res = $scraper->scrape($contents);

say Dumper $res;

exit;

__DATA__
<html><head><title>hello</title></head>
<body>
  <script type="text/javascript">
    var dummy = {}
  </script>
</body>
</html>

我的输出是:

代码语言:javascript
复制
$VAR1 = {
          'scripts' => [
                         ''
                       ]
        };

在我看来,我找到了脚本标记,但没有保存标记之间的内容。

EN

回答 2

Stack Overflow用户

发布于 2013-05-23 09:25:02

在深入研究了一下xpath之后,我找到了解决方案。

将刮板行从以下位置更改:

代码语言:javascript
复制
my $scraper = scraper { process "//script", "scripts[]" => 'TEXT'; };

至:

代码语言:javascript
复制
my $scraper = scraper { process "//script" => 'scripts[]' =>
                    scraper { process '//text()', 'script'=>'TEXT'} };

输出javascript代码:

代码语言:javascript
复制
$VAR1 = {
          'scripts' => [
                         {
                           'script' => '
    var dummy = {}
  '
                         }
                       ]
        };

我不相信流程线是简洁的,但它是有效的。

票数 0
EN

Stack Overflow用户

发布于 2013-05-25 06:43:09

尝试生食,就像

代码语言:javascript
复制
#!/usr/bin/perl --
use strict;
use warnings;
use Web::Scraper;
use Data::Dump;
my $contents = q{
<html><head><title>hello</title></head>
<body>
  <script type="text/javascript">
    var dummy = {}
  </script>
</body>
</html>};
#~ my $scraper = scraper { process "//script", "scripts[]" => 'TEXT'; };
my $scraper = scraper { process "//script", "scripts[]" => 'RAW'; };
my $res = $scraper->scrape($contents);
dd $res;
__END__
{ scripts => ["\n    var dummy = {}"] }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16683106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档