Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^6: Extracting span and meta content with HTML::TreeBuilder

by wrinkles (Pilgrim)
on Jul 18, 2014 at 01:41 UTC ( [id://1094151]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Extracting span and meta content with HTML::TreeBuilder
in thread Extracting span and meta content with HTML::TreeBuilder

poj,

Yes, that's perfect, thank you!

The docs on the HTML::TB::XP module is not sufficient (at least for me) to understand how your code works. Where is the documentation that would help me understand this? Did you go to some key documentation to help you sort this out? What do you recommend for me to understand this?

  • Comment on Re^6: Extracting span and meta content with HTML::TreeBuilder

Replies are listed 'Best First'.
Re^7: Extracting span and meta content with HTML::TreeBuilder
by Anonymous Monk on Jul 18, 2014 at 02:44 UTC

    See all the links here Re: Retrieve select information from HTML, they're examples(for tree-xpath and others)/walkthroughs/tutorials ... tools like xpather.pl/htmltreexpather.pl can give you paths to start with

    findnodes gives you nodes ... or in case of treebuilder it gives HTML::Element object you can call methods on ... the other player gives XML::LibXML::Node be they XML::LibXML::Element or something else (libxml follows the DOM closely)

    This tutorial needs javascript http://zvon.org/comp/r/tut-XPath_1.html

    On the file you provided xpather spits out stuff like this

    /html/body/div/div/span # posy /html[1]/body[1]/div[1]/div[1]/span[1] # star /*[ local-name() = "html" and position() = 1 ] /*[ local-name() = "body" and position() = 1 ] /*[ local-name() = "div" and position() = 1 and @class = "review-content" ] /*[ local-name() = "div" and position() = 1 and @class = "biz-rating biz-rating-very-large clearfix" ] /*[ local-name() = "span" and @class = "rating-qualifier" and contains(string(), " 1/13/2011 ") ] # rats /html[1] /body[1] /*[ name() = "div" and position() = 1 and @class = "review-content" ] /*[ name() = "div" and position() = 1 and @class = "biz-rating biz-ra +ting-very-large clearfix" ] /*[ name() = "span" and position() = 1 and @class = "rating-qualifier +" ]

    Its a tree :) so  //meta means find a  <meta> anywhere where as  /foo/meta means find every child meta of root element foo <foo><meta></meta>....</foo>

    The examples/tuts give more better examples and explanations

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-24 20:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found