Je suis en train d'utiliser Web::Scraper pour analyser le code HTML suivant:Comment analyser ce HTML avec Web :: Scraper?
<div>
<p><strong>TITLE1</strong>
<br>
DESCRIPTION1
</p>
<p><strong>TITLE2</strong>
<br>
DESCRIPTION2
</p>
<p><strong>TITLE3</strong>
<br>
DESCRIPTION3
</p>
</div>
dans
'test' => [
{
'name' => 'TITLE1',
'desc' => 'DESCRIPTION1 '
},
{
'name' => 'TITLE2',
'desc' => 'DESCRIPTION2 '
},
{
'name' => 'TITLE3',
'desc' => 'DESCRIPTION3 '
}
]
Je le code suivant mais je n'ai pas beaucoup de chance. « TEXT » lors du traitement « p » donne à la fois le texte et ce qui est entre « forte », par exemple
'test' => [
{
'name' => 'TITLE1',
'desc' => 'TITLE1 DESCRIPTION1 '
}
]
plus son seul le premier élément.
Voici mon code.
use strict;
use Web::Scraper;
use Data::Dumper;
my $html = q[<div>
<p><strong>TITLE1</strong>
<br>
DESCRIPTION1
</p>
<p><strong>TITLE2</strong>
<br>
DESCRIPTION2
</p>
<p><strong>TITLE3</strong>
<br>
DESCRIPTION3
</p>
</div>
];
my $test = scraper {
process 'div', 'test[]' => scraper {
process 'p strong', 'name' => 'TEXT';
process 'p','desc' => 'TEXT';
};
};
my $res = $test->scrape(\$html);
print Dumper($res);
Merci.
merci qui a parfaitement fonctionné. – user1768233