ID rauskopieren

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von dapumaX, 16. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. Oktober 2006
    Hallo,
    der Quellcode is dieser:

    Code:
    <span class="TextS"> blablabla </span><a class="TextMblack" href="/path/1121785/"><b>blablabla</b></a>
    Wie kann ich in Perl die Nummer "1121785" aus dem Quellcode auslesen und z.B. in eine Variable speichern?
    Also ich hab mehrere ID's z.B.
    Code:
    <span class="TextS"> blablabla </span><a class="TextMblack" href="/path/1543874/"><b>blablabla</b></a>
    Also ich will das er mir alle ID's im Quellcode ausliest und diese dann in Variablen o.a. speichert.

    Danke im Vorraus
    mfg dapumaX
     
  2. 16. Oktober 2006
    AW: ID rauskopieren

    in welcher programmiersprache ? ^^ müsstst du erstmal sagen ...

    ups sry hab das perl überlesen .. naja mir passieren auch mal fehler ...
     
  3. 16. Oktober 2006
    AW: ID rauskopieren

    Mal bissl allgemein:
    Du suchst im String nach 'href="/path/', da dies ja immer vor der ID is. Dann schneidest du alles links davon ab. Damach suchste das beendete '/' und schneidest alles rechts davon ab.

    mfg r90
     
  4. 16. Oktober 2006
    AW: ID rauskopieren

    hab ich doch 0o "Wie kann ich in Perl"

    @razor90
    k danke für den tipp ich schau mal was ich machn kann
     
  5. 16. Oktober 2006
    AW: ID rauskopieren

    Die Programmiersprache ist
    Da ich mich selbst damit nicht auskenne, aber allgemien kann man auch nur nach Zahlen suchen bzw. r90 Vorschlag Programierteschnisch wäre ja, du liest immer 1 Zeichen ein in eine Variable und wenn das dann h ist Packt der in die Variable soviele weitere Buchstaben rein das am Ende in der Variable 'href="/path/' steht. und dann immer so weiter. Der Sucht dann weiter bis zum '/' und fügt den zwisc******l in eine Variable ein.

    mfg nash

    P.S.: Könnte es in VB programieren wenns hilft.

    EDIT: Brauchst eigendlich nur den Suchbefehl in Perl

    EDIT²: Das ist was du brauchst: SELFHTML: Perl / Perl-Sprachelemente / Regul
     
  6. 16. Oktober 2006
    AW: ID rauskopieren

    Code:
    #!/usr/bin/perl -w
    
    use strict;
    use CGI::Carp qw(fatalsToBrowser);
    
    print "Content-type: text/html\n\n";
    print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
    print "<html><head><title>Test-Ausgabe</title></head><body>\n";
    
    my $Satz = "<span class="TextS"> blablabla </span><a class="TextMblack" href="/path/1543874/"><b>blablabla</b></a>";
    my $Suchwort = "/path/";
    while($Satz =~ /$Suchwort/g) {
     my $Treffer = pos($Satz) - 3;
     $Treffer
     print "$Satz[$Treffer+6,7]<br>\n";
    }
    print "</body></html>\n";
    So in der Art ...
     
  7. 17. Oktober 2006
    AW: ID rauskopieren

    Erstmal danke für eure Hilfe...
    Ich hab es jetzt so gemacht:
    Code:
    #!/usr/bin/perl 
    use strict;
    unlink("quelle.txt");
    
    open(QUELLCODE, "<quellcode.txt") || die "Datei nicht gefunden";
    my @code = <QUELLCODE>;
    close(QUELLCODE);
    
    open(IDS, ">quelle.txt");
    foreach(@code) {
    $_=~m{\<a class="TextMblack" href="/path/(\d*?)/"}; 
    print IDS $1,"\n";
    } 
    print "Id's erfolgreich in der Datei \"quelle.txt\" gespeichert!";
    
    Jetzt speichert er mir die ID's in eine Datei. Nur Leider noch nicht so wie ich es haben will...
    So sieht es jetzt in der Datei aus:
    Code:
    
    
    
    (ganz viele absätze)
    
    
    
    
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    660866
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1499064
    1514612
    1514612
    1514612
    1514612
    ...
    So will ich es eigentlich haben:
    Code:
    660866
    1499064
    1514612
    ...
     
  8. 17. Oktober 2006
    AW: ID rauskopieren

    Kannste nicht einfach checken ob die ID schon vorhanden ist in der datei und die dann einfach nur eintragen wenn die noch nicht da ist, oder kommen die id's öfters vor?

    Knusperkeks
     
  9. 17. Oktober 2006
    AW: ID rauskopieren

    Ok, ich weiß nun woran es lag
    Code:
    $_=~m{\<a class="TextMblack" href="/path/(\d*?)/"}; 
    print IDS $1,"\n";
    ersetzen mit
    Code:
    if ($_=~m{\<a class="TextMblack" href="/path/(\d*?)/"})
    { print IDS $1,"\n"; } 
    Ich schließ dann mal.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.