Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: Extracting HTML content between the h tags

by vagabonding electron (Hermit)
on Aug 05, 2012 at 14:22 UTC ( #985530=note: print w/ replies, xml ) Need Help??


in reply to Re: Extracting HTML content between the h tags
in thread Extracting HTML content between the h tags

Thank you a lot! I did not know this syntax.
One more question if I dare :-)
In about 10 pages the last h2-tag is missing, so that I used the following workaround:

my @solution_2 = $content->findvalues( './h2[4]/preceding-sibling::*' +); unless ( @solution_2 ) { @solution_2 = $content->findvalues( '//hr/preceding-sibling::*' ); }
I tried the same with your syntax as:
@solution_2 = $content->findvalues( '//hr/preceding-sibling::p[precedi +ng-sibling::h2[3]]' );
but I get an uninitialized value only.
I understood the syntax so: "search the siblings but stop if the tag in brackets appears". Is this correct? If so, what am I doing false with the above attempt?
Spasibo!


Comment on Re^2: Extracting HTML content between the h tags
Select or Download Code
Re^3: Extracting HTML content between the h tags
by Gangabass (Vicar) on Aug 06, 2012 at 01:01 UTC
    According to your HTML preceding-sibling for hr will be div tag but not p tag... So this code will find all ps after last h2:
    $p->findnodes('//h2[4]/following-sibling::p');
    Or (more flexible):
    $p->findnodes('//h2[last()]/following-sibling::p');
      Thank you very much!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://985530]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2015-07-04 15:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls