Avatar billede angelenglen Nybegynder
02. december 2005 - 15:32 Der er 3 kommentarer og
1 løsning

Fra webside indhold til tekstfil - findes der en let måde?

http://www.foreignword.com/countries/

På ovenstående liste findes der en liste over ISO landekoder og dertilhørende navne.

Der findes 16 af disse sider, på hver sit sprog.

Det jeg skal bruge, er at få indholdet af "ISO" kolonnen og indholdet af "Country Name" ind i en semikolon-sepereret tekstfil, et excel-regneark, eller et eller andet der er til at håndtere.
-det skal jeg så have gjort for hvert sprog... (Ihvertfald næsten allesammen)


Findes der ikke en "let" måde man kan "parse" en sådan side og på den måde få de info jeg skal bruge, uden at jeg skal copy/paste 3000 gange manuelt?

De sprog jeg mangler er:
http://www.foreignword.com/countries/English.htm
http://www.foreignword.com/countries/Spanish.htm
http://www.foreignword.com/countries/French.htm
http://www.foreignword.com/countries/German.htm
http://www.foreignword.com/countries/Dutch.htm
http://www.foreignword.com/countries/Italian.htm
http://www.foreignword.com/countries/Finnish.htm
http://www.foreignword.com/countries/Swedish.htm
http://www.foreignword.com/countries/Danish.htm
http://www.foreignword.com/countries/Portuguese.htm
http://www.foreignword.com/countries/Hungarian.htm
http://www.foreignword.com/countries/Polish.htm

Jeg ved godt den ikke er helt let, derfor giver jeg 200 points - jeg ville med glæde give flere points, men det kan jeg åbenbart ikke.
Avatar billede tjp Mester
02. december 2005 - 16:01 #1
Jeg kunne nok lave et script der hiver info ud af sidernes tabeller, men det er lidt af et hestearbejde og overkill for 12 siders skyld! Især når man næsten får det du ønsker, ved at åbne siden, trykke Ctrl+a efterfulgt af Ctrl+c, og dernæst indsætte det kopierede i Notepad med Ctrl+v. Så mangler man bare at fjerne lidt i starten og i slutningen, og man har en linjeskifts-separeret tekstfil. Linjeskiftene kan nemt udskiftes med ; vha. Søg/Erstat i Word.
Ctrl+a, Ctrl+c og Ctrl+v kan evt. erstattes med hhv. højreklik -> marker alt,højreklik -> kopier og højreklik -> indsæt.
Avatar billede angelenglen Nybegynder
02. december 2005 - 17:07 #2
hmm fed ide, hvorfor tænkte jeg ikke på det selv.

Well om det er programmeret i VB eller ej, så præsenterede du mig da for en løsning jeg kan bruge i dette tilfælde, og derfor får du også alle points.

Mange tak!
Avatar billede tjp Mester
03. december 2005 - 00:09 #3
Selv tak! Og jeg ser først nu at det er et VB-spørgsmål, så  til inspiration får du lige, noget jeg engang har brugt til at plukke teksten ud af <H1>- og <PRE>-tags på en masse sider i et hug. Så er pointene ikke helt ved siden af. ;-)

aUrls = Array("ARRAY MED DE ØNSKEDE HJEMMESIDERS ADRESSER")

set ie = createobject("internetexplorer.application")

For i = 0 to ANTAL_HJEMMESIDER
  ie.navigate aUrls(i)

  Do while ie.busy
  loop
 
  Set h1node = ie.Document.getElementsByTagName("h1")
  s = ""
  If Not IsNull  (h1node(0)) Then
    s = s &  h1node(0).InnerHTML & vbNewLine
  end If
 
  Set loNodes = ie.Document.getElementsByTagName("pre")

  If loNodes.length > 1 Then
    For j = 1 to (loNodes.length - 1)
      s = s & loNodes(j).InnerHTML & vbNewLine
    Next
  end If
 
  s = s & vbNewLine & "@@@" & vbNewLine
  writeFileT s,"TEKSTFIL"
Next

ie.visible = false
ie.quit

Function writeFileT (txt, sti)
  Dim filesys, filetxt
  Const ForReading = 1, ForWriting = 2, ForAppending = 8
  Set filesys = CreateObject("Scripting.FileSystemObject")
  Set filetxt = filesys.OpenTextFile(sti, ForAppending, True)
  filetxt.WriteLine(txt)
  filetxt.Close
  writeFileT = txt
end Function
Avatar billede angelenglen Nybegynder
03. december 2005 - 11:49 #4
okay very nice!
-Det er fedt at have, for jeg er sikker på det ikke er sidste gang jeg får brug for den slags!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester