Webseitencontent einfach ausgeben?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

Hallo,

ich weiß wie man mit calc eine URL aus textbausteinen erstellt. =hyperlink("")

Was ich aber eigentlich brauche ist der Content hinter dem Link. Und der ist nur eine Zahl, weil das API-Links sind.

Anstatt alle Links anklicken zu müssen, um zu schauen was dahinter ist, würde ich lieber die links erstellen und automatisch calc den content abrufen lassen.

Geht das ohne sourcecode?

DAnke!
SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Re: Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

Achja, das Ganze funktioniert so dass ich Daten in ein Calcsheet einfüge. In einer Spalte dahinter ist die URL-Formel. Die muss ich jetzt immer anklicken, also alle links durchgehen um zu schauen was die Seite dazu sagt.

Ich will aber dass Calc selbst nachschaut wenn ich die Datengrundlage geändert habe.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Webseitencontent einfach ausgeben?

Beitrag von komma4 »

Hast Du mal Einfügen>Verknüpfung zu externen Daten... probiert? (URL eingeben, ENTER drücken und warten)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Re: Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

Das Problem ist, ich habe einen Zahlencode, bzw Listen davon. Die kopiere ich immer in die erste Spalte. In der zweiten Spalte wird dann daraus ein Hyperlink zusammengesetzt. Mit der Einfügenmethode muss ich direkt eine Datei auswählen. Das kann ich also nicht automatisch machen.

Ich hätte aber gern, dass ich nicht wie momentan jeden Link anklicken muss, sondern dass in einem Feld dahinter der Inhalt der Webseite ausgegeben wird. Der ist immer 0 oder 4,6.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Webseitencontent einfach ausgeben?

Beitrag von komma4 »

SebastianJu hat geschrieben:Mit der Einfügenmethode muss ich direkt eine Datei auswählen. Das kann ich also nicht automatisch machen.
Naja - Du musst es einmal machen (pro Zelle)...

Kannst Du mal eine Beispiel-URL posten? Steht da wirklich nur eine Zahl, oder ist diese eingebettet in HTML?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Re: Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

gast... ich weiß nicht worauf du dich beziehst.

komma4

A1= 1NFTEsVkt2jwJaRPSZwZxHmFxGdbBLUc3f
B1="=HYPERLINK("http://clamsight.com/chain/Clam/q/addressbalance/" & A1)"

Der Link wird erstellt und ist klickbar.

Klickt man den Link wird auf der Webseite nichts anderes angezeigt als eine 0 oder 4.6. Sind API Links.

Selbst wenn ich es einmal mache... ich wüßte nicht wie ich die Links dynamisch machen kann. Weil ich will ja in Spalte A andere Adressen reinkopieren und dann soll in Spalte B die neue URL erscheinen. Das klappt ja schon. Nur soll in Spalte C dann auch der Inhalt der Webseite erscheinen, wenn die URL abgerufen wird.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Webseitencontent einfach ausgeben?

Beitrag von komma4 »

Kopiere diesen Code in eine STANDARD-Bibliothek (des Dokuments/deiner OOo-Installation)

Code: Alles auswählen

FUNCTION valueFromURL(url)
' 20150626
' de65958
' Funktion, um eine Web-Adresse abzurufen

' hidden: Dokument im Hintergrund erstellen
Dim FileProperties(0) As New com.sun.star.beans.PropertyValue
FileProperties(0).Name = "Hidden"
FileProperties(0).Value = TRUE

oWebDocument = StarDesktop.loadComponentFromURL( _
  url, "_blank", 0, FileProperties ) 

valueFromURL = oWebDocument.Text.getString()

oWebDocument.close(FALSE)

END FUNCTION
setze in C1 die Formel

Code: Alles auswählen

=valueFromURL(b1)
und warte nach dem ENTER (hier: 2 Sekunden)
Du möchtest vielleicht die automatische Berechnung ausstellen (weil der Abruf sonst zu oft gemacht wird/bei zu vielen Auswertungen der Formel es jeweils 2 Sekunden pro Abruf dauert).

Wenn Du die Rückgabe als WERT benötigst, dann ändere in der Funktion auf:

Code: Alles auswählen

valueFromURL =  Cint(oWebDocument.Text.getString())
Hilft das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Re: Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

Cool... funktioniert genau wie gewünscht.

Was meinst du mit Abstellen der automatischen Berechnung? Wird das jetzt dauern neu berechnet so dass ich die Webseite belaste oder nur einmal wenn ich alten Content lösche bzw neuen dazu mache?

Danke für die Hilfe!
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Webseitencontent einfach ausgeben?

Beitrag von komma4 »

Das wirst Du heraus finden, wenn Du mit dem Dokument arbeitest :)

(ich weiss es nicht / kann es Dir nicht sagen, unter welchen Umständen immer mal wieder berechnet wird)

Nötigenfalls kopiere die Daten und füge sie als Inhalte wieder ein (paste special: STRG+Umschalt+v, nur "Text/Zahlen/Datum" markieren)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
SebastianJu
**
Beiträge: 24
Registriert: Fr, 12.07.2013 21:25

Re: Webseitencontent einfach ausgeben?

Beitrag von SebastianJu »

Es wird immer nur neu berechnet wenn sich die Datengrundlage ändert. Ich mache es jetzt so dass ich erst die Spalte C, bis auf die erste Zeile lösche, dann die Datengrundlage. Dann die neuen Daten rein und die Spalte C verlängern.

Das hat auch noch den Vorteil dass Spalte C nur so weit berechnet wird wie nötig.
Antworten