Forum: PC Hard- und Software LibreOffice calc: Kurse aus dem Internet.


von Fehrman (Gast)


Lesenswert?

Wer kennt sich näher mit LibreOffice aus?

Wie können Kurse einzelner Titel aus dem Internet beim Aufruf eines 
SpreadSheets direkt in Zellen geladen werden?

von zONENgABI (Gast)


Lesenswert?

Mit VB-Script schoma nich.

von Thomas S. (doschi_)


Lesenswert?


von Eric (Gast)


Lesenswert?

Bash script mit Regex welches die Kurse von der Website holt und in eine 
Datei schreibt. Diese dann einfach in Calc importieren.

von Fehrman (Gast)


Lesenswert?

@ Thomas & Eric

Danke für die Antworten :)

von Eric (Gast)


Lesenswert?

@Fehrman

Hier ist ein Beispiel eines Bash-Scripts welches ich mal dazu 
geschrieben hab, IP-Adressen auf einer Website zu archivieren (weil die 
sich ja mal aendern koennten)

Du musst es halt fuer deine Anforderungen anpassen. Das Script benoetigt 
ebenfalls eine zweite Datei um die HTLM Seite in normalen Text 
umzuwandeln.


Das Script:
1
#!/bin/bash
2
3
#Die Datei "generate_ips.xslt" gehoert in den gleichen Ordner wie dieses #Script (Sie dient dazu nur die Laendernamen und IPs auszugeben und setzt #auch einen Zeilenumbruch)
4
#Die Ausgabe-Dateien landen natuerlich auch im Ordner, indem das Script #liegt :)
5
6
URL1="https://support.symantec.com/en_US/article.TECH244698.html" #APAC
7
URL2="https://support.symantec.com/en_US/article.TECH243000.html" #AMERICAS
8
URL3="https://support.symantec.com/en_US/article.TECH244697.html" #EMEA
9
DATE=$(date +"%Y%m%d%H%M")
10
 
11
#Hier werden die URLs von oben bearbeitet: Mit awk werden die Tabellen und #unnoetige Formatierung beseitigt und ein einfaches HTML nur mit den IP #Adressen und Laendernamen gefertigt. 
12
#XSLT macht das HTML zu normalem Text und sed entfernt alle nicht #benoetigten Zeilen.
13
14
curl --silent "$URL1" |\
15
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
16
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > APAC_$DATE.log
17
18
curl --silent "$URL2" |\
19
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
20
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > AMERICAS_$DATE.log
21
22
curl --silent "$URL3" |\
23
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
24
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > EMEA_$DATE.log
25
26
exit 0;


Das Stylesheet:
1
<?xml version="1.0" encoding="utf-8"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
        <xsl:output method="text"/>
4
5
        <xsl:template match="/">
6
                <xsl:for-each select="/html/body/table/tbody/tr/td[1]/strong|/html/body/table/tbody/tr[2]/td">
7
                        <xsl:value-of select="."/><xsl:text>&#xa;</xsl:text>
8
                </xsl:for-each>
9
        </xsl:template>
10
</xsl:stylesheet>

*Wenn Du dem Stylesheet einen anderen Namen gibst, musst Du das 
natuerlich im Script anpassen :)

Das ist zwar nicht genau das was Du suchst, aber vielleicht hilft es Dir 
ja einen Weg in die Richtung zu finden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.