Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
If the .html is indeed as regular as portrayed (and all the job specs are in a single html page as I think you have suggested), this seems almost trivial.

Based on the sample data you've shown and your (somewhat conflicted??) description of what your boss wants, I'm going to assume that you want to capture as much of the first <p> as included in the <jobname and jobserial <spans... and then skip over the (possibly outdated) incumbents, resuming your capture with the first blockquote.

What I'm hoping this labored phasing suggests is that designing a regex (or group of same) is at least as much about analysis of the source data as about coding.

In other words, it matters little whether you use a non-greedy lookahead or a negated class or something else to skip the 2nd and 3rd blockquotes (each of which happens to be immediately followed by an <a href... -- which makes them easy to distingish and thus eases the way to satisfying your "without grabbing" requirement) or any one of several other techniques that leap to mind.

Similarly, analyasis of the initial info (again, assuming regularity) tells you you want to start capturing with the line following <p><b><span class="jobname">
and the numeric data immediately following ="jobserial">( (or, if you prefer, the digits between the parentheses after ="jobserial"> (by which I mean to suggest an alternate algorithm/regex technique).

Following any (or, better, several!) of the approaches suggested by the above may not be what you actually had in mind, but might still serve "to expand (your) Perl skills...."

Of course, if you have text editor that will remove .html tags and supports regexen, one approach might be to simply capture the webpage source (by whatever means: save_as from a browser; LWP, etc), open the file in the editor, delete the tags and use two simple regexen to replace

Go to the top of this page.
Check for open positions now!

In reply to Re: Parsing HTML files to recover data... by ww
in thread Parsing HTML files to recover data... by UrbanHick

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

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

    No recent polls found