in reply to Re^2: HTML-Parser: a newbie question: need to extract exactly line 999 out of 5000 files..
in thread HTML-Parser: a newbie question: need to extract exactly line 999 out of 5000 files..

hello ag4ve, many thanks for the posting!


i like your idea of using HTML::TokeParser::Simple and DBI. I have little experience with HTML::TokeParser::Simple but To to this task on my own -it would go over my head - at least at the moment! Note: i also have had a look at the ideas of morgon - that seems to be also an appropiate way. But at the moment i have issues to get the correspodending xpath-expressions: I tried to determine the corresponding xpath-expressions that needs to be filled in the Perl-programme

@ag4gee: I think i would love to go your way: and do it with HTML::TokeParser::Simple and DBI.

I guess that i have to do it with the other items too: in order to get the full information set that is wanted:
See one of the example sites:

http://www.kultusportal-bw.de/servlet/PB/menu/1188427/index.html?COMPLETEHREF=http://www.kultus-bw.de/did_abfrage/detail.php?id=04313488

in the grey shadowed block you see the wanted information: 17 lines that are wanted. Note - i have 5000 different HTML-files - that all are structured in the very same way!

That means i would be happy to have a template that can be runned with HTML::TokeParser::Simple and DBI. That would be great!!

I look forward to hear from you

best regards perlbeginner1

Note: see the 5000 sites - with all the infos - on a german official governmental server...:
http://www.kultusportal-bw.de/servlet/PB/menu/1188427/index.html?COMPLETEHREF=http://www.kultus-bw.de/did_abfrage/schnellsuche.php

do a search with *.* -> then you get the result pages - All is available for the whole world - and as i work in the filed of education, nothing is wrong with doing the parsing-job!


Note your code just looks great!! Really:


use strict; use HTML::TreeBuilder::XPath; my $tree = HTML::TreeBuilder::XPath->new; #use real file name here open(my $fh, "<", "file.html") or die $!; $tree->parse_file($fh); my ($name) = $tree->findnodes(qq{/html/body/table/tr[1]/td[2]}); print $name->as_text;
  • Comment on Re^3: HTML-Parser: a newbie question: need to extract exactly line 999 out of 5000 files..
  • Download Code