Web::Scraper::Filter(3pm) User Contributed Perl Documentation Web::Scraper::Filter(3pm)
NAME
Web::Scraper::Filter - Base class for Web::Scraper filters
SYNOPSIS
package Web::Scraper::Filter::YAML;
use base qw( Web::Scraper::Filter );
use YAML ();
sub filter {
my($self, $value) = @_;
YAML::Load($value);
}
1;
use Web::Scraper;
my $scraper = scraper {
process ".yaml-code", data => [ 'TEXT', 'YAML' ];
};
DESCRIPTION
Web::Scraper::Filter is a base class for text filters in Web::Scraper. You can create your
own text filter by subclassing this module.
There are two ways to create and use your custom filter. If you name your filter
Web::Scraper::Filter::Something, you just call:
process $exp, $key => [ 'TEXT', 'Something' ];
If you declare your filter under your own namespace, like 'MyApp::Filter::Foo',
process $exp, $key => [ 'TEXT', '+MyApp::Filter::Foo' ];
You can also inline your filter function or regexp without creating a filter class:
process $exp, $key => [ 'TEXT', sub { s/foo/bar/ } ];
process $exp, $key => [ 'TEXT', qr/Price: (\d+)/ ];
process $exp, $key => [ 'TEXT', qr/(?<name>\w+): (?<value>\w+)/ ];
Note that this function munges $_ and returns the count of replacement. Filter code
special cases if the return value of the callback is number and $_ value is updated.
You can, of course, stack filters like:
process $exp, $key => [ '@href', 'Foo', '+MyApp::Filter::Bar', \&baz ];
AUTHOR
Tatsuhiko Miyagawa
perl v5.32.0 2021-01-05 Web::Scraper::Filter(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 18:04 @216.73.216.164 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)