Schrift
[thread]10633[/thread]

HTML file nach infos duchsuchen od. parsen??

Leser: 3


<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
Gast Gast
 2007-10-23 03:13
#101205 #101205
hallo freunde ;
ich möchte gerne mal wissen, ob möglich wäre ein HTML file nach bestimmte infos zu durchsuchen, und dann extrahieren zu ein excel file,
die datei sieht so aus:
<TR>
<TD align=right><INPUT type=checkbox CHECKED
value="1894.252474 from(948.133513,2+) title(Elution%20from%3a%20777FinneganScanNumber%3a%202607) query(520)"
name=QUE></TD>
<TD alig=right><TT><I><B>948.13&nbsp;&nbsp;</B></I></TT></TD> <TD align=right><TT><I><B>1894.25247&nbsp;&nbsp;</B></I></TT></TD>
<TD>23334455&nbsp;</TD>
<TD>&nbsp;</TD></TD></TR>
<TR>
...usw..

die datei ist in mehreren blöcke von <TR> und </TR> geteilt,
was ich gerne hätte, einfach dass jedes Block separat gehandelt wird, dh. zwischen jeder <TR> und </TR> wird diese value= nummer und from= Nummer(siehe oben) rausgepickt,
und dann in title() diese FinneganScanNumber Nummer auch.
auch die Nummern zwischen die<TD> würde ich gerne haben.
ich würde mich freuen auf jede HILFE;
tipps egal was, damit ichden roten Faden verfolgen kann:-))
Code: (dl )
nepos
 2007-10-23 10:19
#101206 #101206
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Puh, durchsuche doch mal das Board, zum Thema parsen von HTML gibts diverse Threads meines Wissens. Desweiteren gibt es auf CPAN einige Module, die dir hier schon mal einiges an Arbeit abnehmen, denn HTML selber per RegExp zu parsen ist nicht so trivial.
ptk
 2007-10-23 10:24
#101207 #101207
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Am elegantesten geht das Parsen und Auslesen von Werten mit CPAN:HTML::TreeBuilder::XPath.
renee
 2007-10-23 10:41
#101210 #101210
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Oder CPAN:Web::Scraper
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Struppi
 2007-10-23 12:17
#101218 #101218
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
und die parsen auch ungültiges HTML?
renee
 2007-10-23 12:26
#101219 #101219
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use strict;
use warnings;
use Web::Scraper;

my $html = q~<TR>
<TD align=right><INPUT type=checkbox CHECKED
value="1894.252474 from(948.133513,2+) title(Elution%20from%3a%20777FinneganScanNumber%3a%202607) query(520)"
name=QUE></TD>
<TD alig=right><TT><I><B>948.13&nbsp;&nbsp;</B></I></TT></TD> <TD align=right><TT><I><B>1894.25247&nbsp;&nbsp;</B></I></TT></TD>
<TD>23334455&nbsp;</TD>
<TD>&nbsp;</TD></TD></TR>~;

my $parser      = scraper {
    process 'input[type="checkbox"]', value => '@value';
};
my $result = $parser->scrape( $html );

print $result->{value};


Ausgabe:
Code: (dl )
1
2
3
4
C:\>scraper_test.pl
1894.252474 from(948.133513,2+) title(Elution%20from%3a%20777FinneganScanNumber%
3a%202607) query(520)
C:\>
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Struppi
 2007-10-23 12:38
#101220 #101220
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Tolles Modul ;-)

Trotzdem würde ich mir mehr Mühe bei der Erzeugung des HTML codes geben.
renee
 2007-10-23 12:43
#101221 #101221
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Struppi+2007-10-23 10:38:56--

Trotzdem würde ich mir mehr Mühe bei der Erzeugung des HTML codes geben.

Das sowieso ;)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2007-10-23 13:21
#101223 #101223
leute echt einen dicken Dank;
dafür habt ihr einen neuen user gewonnen; werde ich auch in zukunft helfen wie ich s kann. wenn ich ein bissle fit bin.
gruss.
outaleb
 2007-11-02 18:37
#101701 #101701
User since
2007-10-23
1 Artikel
BenutzerIn
[default_avatar]
hallo leute nochmal

Ich arbeite jetzt an ein Projekt, Diplomarbeit;und würde ich mich auf jede mögliche Hilfe; Ich habe mich mit tree::Builder und element beschäftigt, und meine erste Aufgabe wäre dann
-ich habe ein html file, und besteht aus mehreren Bloöcke von TR-tags 100 so etwa:
1-check ob irgendein 'Met'-string im TT-tag vorkommt, wenn ja, dann
2- look up zum oberen gehörigen TR-tag
3-dann ist bissle schwierig, ich arbeite auch daran, gib mir den Wert von VALUE attribut von INPUT-tag, aber nur der wert von der Ladung, in diesem Fall '2+' (steht zwischen from()innerhalb der VALUE attr oben)
dazu der Wert von 'FinneganScanNumber' ist in diesem Fall gleich '3539'und lieget in
' title() 'siehe auch oben.
4-gib mir alle werte der unten stehenden
TT-tags.
ich habe bis jetzt das probiert aber irgendwie klappt nicht??

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use warnings;
use HTML::Element;
use HTML::TreeBuilder;

my $tree = HTML::TreeBuilder->new;

$tree->parse_file('C:/Documents and Settings/Issa/Desktop/test.html');

foreach my $table_row ($tree->look_down('_tag' => 'tr')) {

foreach my $table_cell ($table_row->look_down('_tag' => 'td')) {

#foreach my $input_field ($table_cell->look_down('_tag' => 'input')) {

foreach my $input_field ($table_cell->look_down('_tag' => 'tt')) {
foreach my $test ($input_field->as_text){
if ($test =~ /Met/) {
print $test, "\n"; #als test ob es funzt!!

foreach my $lookup ($tree->look_up('_tag'=>'tr')) {
my @tags = $lookup->content_list;

foreach my $tag(@tags) {
print $tag->as_text;

}
}
}
}
}
}
}

print "ok!!!!!!";


und HTML Beispiel


[html]
<TR>
<TD align=right><INPUT type=checkbox CHECKED
value="1060.542634 from(531.278593,2+) title(Elution%20from%3a%20777%2e777%20to%20777%2e777%20period%3a%20dimer_02%2eraw%20experiment%3a%201%20cycles%3a%201%20precIntensity%3a%2080142%2e0%20FinneganScanNumber%3a%203539) query(5104)"
name=QUE></TD>
<TD align=right><TT><A
onmouseover="statusString = h1_q5104; if (!browser_EXCLUDE) activateEl('Q5104', event)"
onmouseout=clearEl()
href="http://pc15.unbi.pg.de/mascot/cgi/peptide_view.pl?..."
target=_blank>5104</A> </TT></TD>
<TD align=right><TT><FONT
color=#ff0000><B>531.27859 </B></FONT></TT></TD>
<TD align=right><TT><FONT
color=#ff0000><B>1060.54263 </B></FONT></TT></TD>
<TD align=right><TT><FONT
color=#ff0000><B>1060.54001 </B></FONT></TT></TD>
<TD noWrap align=right><TT><FONT
color=#ff0000><B>0.00263 </B></FONT></TT></TD>
<TD align=right><TT><FONT
color=#ff0000><B>0 </B></FONT></TT></TD>
<TD noWrap align=right><TT><FONT
color=#ff0000><B>(19) </B></FONT></TT></TD>
<TD noWrap align=right><TT><FONT
color=#ff0000><B>2.4 </B></FONT></TT></TD>
<TD align=right><TT><FONT
color=#ff0000><B>1 </B></FONT></TT></TD>
<TD noWrap><TT><FONT color=#ff0000><B>R.TLLEGEESR.M + di-MetCarboxylation
(R)</B></FONT></TT></TD></TR>[/html]


ich freue mich auf irgendeine Hilfe, egal wie,
vorschläge, wie man da vorgehen kann??
bis jetzt kann ich alle TT-tags die 'MET' string enthalten ausgeben. aber das mit look _up nicht.
Greezzz and peaceeee:-))
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2007-10-23 03:13.