Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur bygger man en sökrobot?

Postades av 2005-04-20 01:22:21 - Alexander Ernstberger, i forum pellesoft info/nyheter, Tråden har 3 Kommentarer och lästs av 1855 personer

Hur bygger man en sökrobot som automatiskt sparar hem inehåll från sidor i en mySQL databas efter vissa kriterier?

Vilket språk skriver man den i, någon som kan hänvisa till artikel / guide?


Svara

Sv: Hur bygger man en sökrobot?

Postades av 2005-04-20 08:33:53 - Andreas Håkansson

Alexander,

Detta är inte en fråga för Lokaliserings-forumen. Ställ frågan i ett mer lämpligt forum, förslags vis ett forum (givetvis här på pellesoft :) som riktar sig till det programmeringsspråk du använder dig av.


Svara

Sv:Hur bygger man en sökrobot?

Postades av 2005-04-21 12:04:58 - Johan Bovin

det är väl precis rätt forum... hur lokaliserar man information... ;-)

En liten beskrivning av vad vi menar med lokalisering kanske hade varit på plats. Alla pratar ju inte samma "fikon" språk...


Svara

Sv: Hur bygger man en sökrobot?

Postades av 2005-04-23 11:39:55 - Fim Wästberg

Jag håller på med ett spindelprogram, jag använder Powerbasic. Nedan har du koden för den första utgåvan av programmet, senare utgåvor är mer specialiserade mot mitt primära syfte, att få tag på ny svenska ord.

' PROGRAM-NAMN    SPINDEL1.BAS
' FÖRFATTARE      FIM WÄSTBERG.
' DATUM           2005-02-14 18:04 I JÄRFÄLLA.
'
' SPINDEL. HÄMTNING AV NÄSTAN ALLA SIDOR INOM EN WEBSAJT
'
' ÄNDRINGS- OCH RÄTTNINGS-JOURNAL
' Vers    Tidpunkt         Ändringsbeskrivning
' ------- ---------------- --------------------------------
'         2005-02-14 18:04 Nytt program


'  Nationella gemena   = †† „„ ””   å ä ö
'  Nationella versaler =  ŽŽ ™™   Å Ä Ö

' Fullständig URL ska anges som parameter



' KOMPILATORDIREKTIV
' ==================
'
%port = 80
#COMPILER PBCC
#DIM ALL
' FUNKTIONS-DEKLARATIONER
' ========================
'
    DECLARE FUNCTION SKRIV_TAL(TAL AS LONG, RADNR AS LONG, KOLNR AS LONG) AS LONG
    DECLARE FUNCTION GetCurrentProcessId LIB "KERNEL32.DLL" ALIAS "GetCurrentProcessId" () AS LONG




'Option Explicit
FUNCTION PBMAIN() AS LONG

WEB_DATA:
    DIM buffer                          AS STRING
    DIM FIL_DATA                        AS STRING
    DIM FIL_HUVUD                       AS STRING
    DIM FIL_DATA_REST                   AS STRING
    DIM SLASK                           AS STRING

URL_DATA:
    DIM URL_NORMALISERAD_UVA            AS STRING
    DIM FIL_LANGD                       AS LONG
    DIM URL_SAJT_AKTUELL                AS STRING
    DIM URL_SAJT                        AS STRING
    DIM URL_FIL                         AS STRING
    DIM URL                             AS STRING

UT_DATA:
    DIM UTFIL_NAMN                      AS STRING
    DIM UTFIL_NAMN_FORLED               AS STRING
    DIM UTFIL_NAMN_PDF                  AS STRING
    DIM TIDEN                           AS STRING
    DIM DAGENS_DATUM                    AS STRING
    DIM BOKSTAV                         AS STRING
    DIM FIL_SUFFIX                      AS STRING
    DIM STATUSFIL                       AS STRING

DATABAS_DATA:
    DIM POST_UVA                        AS STRING
    DIM DATABASNAMN                     AS STRING
    DIM FILSLUT                         AS LONG
    DIM DATABAS_HANDTAG                 AS LONG
    DIM RETURKOD                        AS LONG
    DIM TYST_LAGE                       AS LONG

DIVERSE:
    DIM PID                             AS LONG
    DIM PID_TEXT                        AS STRING
    DIM BILD                            AS LONG
    DIM START_TID                       AS LONG
    DIM LOGGFIL                         AS STRING
    DIM PA_TID                          AS LONG
    DIM PA_TID_MIN                      AS LONG
    DIM HASTIGHET                       AS LONG
    DIM KOMRAD                          AS STRING
    DIM BINAR_DATA                      AS STRING
    DIM SVAR                            AS LONG
    DIM AVBRYT                          AS LONG

ANTALSRAKNARE:
    DIM ANTAL_HAMTADE_FILER             AS LONG
    DIM ANTAL_FEL                       AS LONG
    DIM ANTAL_HAMTADE_BLOCK             AS LONG
    DIM R                               AS LONG
    DIM ANTAL_HAMTADE_BYTE              AS LONG

URL_TABELL:
    DIM URL_FIL_TAB (1:1000000)         AS STRING
    DIM ANTAL_URL_FIL_TAB               AS LONG
    DIM NR_TAB                          AS LONG

FIL_NUMMER:
    DIM FILNR_LOGGFIL                   AS LONG
    DIM FILNR_SAJTFIL                   AS LONG
    DIM FILNR_TCP                       AS LONG
    DIM FILNR_UTFIL                     AS LONG
    DIM FILNR_UTFIL_PDF                 AS LONG



PARAMETERHAMTNING:
'=================
'
HAMTA_PARAMETRAR:
    URL_SAJT_AKTUELL = LCASE$(TRIM$(COMMAND$))
    IF LEN (URL_SAJT_AKTUELL) = 0 THEN
        PRINT "URL som parameter saknas"
        GOTO PROGRAMSLUT
    END IF



STARTSEKVENS:
'============
'
STARTVARDEN:
    ON ERROR GOTO FELBEHANDLING
    NR_TAB = 0
    UTFIL_NAMN = ""
    URL_FIL = ""
    START_TID = TIMER

BYGG_BINAR_DATA:
    BINAR_DATA = ""
    FOR R = 0 TO 7
        BINAR_DATA = BINAR_DATA + CHR$(R)
    NEXT R

HAMTA_PID:
    PID = GetCurrentProcessId
    PID_TEXT = MID$(STR$(PID), 2)

STARTA_UTFILER:
    LOGGFIL = URL_SAJT_AKTUELL + ".logg"
    FILNR_LOGGFIL = FREEFILE
    OPEN LOGGFIL FOR OUTPUT AS #FILNR_LOGGFIL
    UTFIL_NAMN = URL_SAJT_AKTUELL + ".htm
    FILNR_UTFIL = FREEFILE
    OPEN UTFIL_NAMN FOR OUTPUT AS #FILNR_UTFIL
    CLOSE #FILNR_UTFIL

BILDSTART:
    IF TYST_LAGE THEN GOTO BILDSTART_END
    COLOR 14,1
    CLS
    LOCATE 1, 1
    PRINT "URL-sajt       ="  ' 1
    PRINT "URL-fil        ="  ' 2
    PRINT "PID            ="  ' 3
    PRINT "Hämtade block  ="  ' 4
    PRINT "Antal h„mtade  ="  ' 5
    PRINT "Antal filer    ="  ' 6
    PRINT "Kbytes/sek     ="  ' 7
    PRINT "Antal fel      ="  ' 8
    PRINT "H„mtade kbytes ="  ' 9
    PRINT "Totaltid min   ="  ' 10
    LOCATE 1, 17
    PRINT URL_SAJT_AKTUELL
    LOCATE 3, 17
    PRINT PID


BILDSTART_END:



HAMTNING_AV_WEBSIDA:
'=====================
'
HAMTNING_AV_WEBSIDA_START:
    ON ERROR GOTO HAMTNING_AV_WEBSIDA_FEL
    IF INKEY$ = CHR$(27) THEN
        AVBRYT = 1
        GOTO SLUTSEKVENS
    END IF
    LOCATE 2,17: PRINT SPACE$(50)
    LOCATE 2,17: PRINT MID$(URL_FIL, 1, 50)
    LOCATE 4,17: PRINT " 0      "
    ANTAL_HAMTADE_BLOCK = 0

LOGGNING:
    PRINT #FILNR_LOGGFIL, URL_FIL

ANSLUTNING_TILL_WEBSAJTEN:
    FILNR_TCP = FREEFILE
    TCP OPEN PORT %port AT URL_SAJT_AKTUELL AS #FILNR_TCP TIMEOUT 5000
    IF ERR THEN
        LOCATE 12,1
        PRINT "Den sajten finns inte"
        GOTO SLUTSEKVENS
    END IF

BEGAR_HAMTNING_AV_INFILEN:
    TCP PRINT #FILNR_TCP, "GET " + "/" + URL_FIL + " HTTP/1.0"
    TCP PRINT #FILNR_TCP, "Accept: */*"
    TCP PRINT #FILNR_TCP, "Accept-Language: en-us"
    TCP PRINT #FILNR_TCP, "Host: " + URL_SAJT_AKTUELL
    TCP PRINT #FILNR_TCP, "Pragma: no-cache"
''  TCP PRINT #FILNR_TCP, "Referer: http://www.google.com"
'   TCP PRINT #FILNR_TCP, "User-Agent: webget 1.3 (www.powerbasic.com)"
    TCP PRINT #FILNR_TCP, "User-Agent: Spindel1 (www.ordkors.se)"
    TCP PRINT #FILNR_TCP, ""

HAMTNING_AV_INFILEN_START:
    FIL_DATA = ""

HAMTNING_AV_INFILEN_NASTA_4096_BYTES:
    TCP RECV #FILNR_TCP, 4096, BUFFER
    FIL_DATA = FIL_DATA + BUFFER
    IF LEN(BUFFER) > 0 THEN
        INCR ANTAL_HAMTADE_BLOCK
        LOCATE 4, 17
        PRINT ANTAL_HAMTADE_BLOCK
        GOTO HAMTNING_AV_INFILEN_NASTA_4096_BYTES
    END IF
    TCP CLOSE #FILNR_TCP
    INCR ANTAL_HAMTADE_FILER
    SVAR = SKRIV_TAL(ANTAL_HAMTADE_FILER, 5, 17)
    ANTAL_HAMTADE_BYTE = ANTAL_HAMTADE_BYTE + LEN(FIL_DATA)
    PA_TID = TIMER - START_TID
    IF PA_TID < 0 THEN PA_TID = PA_TID + 86400
    HASTIGHET = ANTAL_HAMTADE_BYTE / PA_TID / 1000
    PA_TID_MIN = PA_TID / 60
    SVAR = SKRIV_TAL(HASTIGHET, 7, 17)
    SVAR = SKRIV_TAL (PA_TID_MIN, 10, 17)
    SVAR = SKRIV_TAL(ANTAL_HAMTADE_BYTE / 1000, 9, 17)

SKILJ_PA_HUVUD_OCH_KROPP:
    FIL_HUVUD = EXTRACT$(FIL_DATA, CHR$(13) + CHR$(10) + CHR$(13) + CHR$(10))
    FIL_DATA = TRIM$(REMAIN$(FIL_DATA, CHR$(13) + CHR$(10) + CHR$(13) + CHR$(10)))
    IF LEN(FIL_DATA) > 0 THEN GOTO HAMTNING_AV_WEBSIDA_END
    IF INSTR(LCASE$(FIL_HUVUD), "location:") > 0 THEN
        FIL_DATA = LCASE$(FIL_HUVUD)
        REPLACE "Location:" WITH " href="  IN FIL_DATA
    END IF
    GOTO HAMTNING_AV_WEBSIDA_END

HAMTNING_AV_WEBSIDA_FEL:
    ON ERROR GOTO FELBEHANDLING
    PRINT #FILNR_LOGGFIL, "HAMTNING_AV_WEBSIDA FELNR=";ERR
    ERRCLEAR
    INCR ANTAL_FEL
    SVAR = SKRIV_TAL(ANTAL_FEL, 8, 17)
    TCP CLOSE #FILNR_TCP

HAMTNING_AV_WEBSIDA_END:



LAGRING_AV_HAMTAD_FIL:
'=====================
'
LAGRING_AV_FILEN_START:
    ON ERROR GOTO LAGRING_AV_HAMTAD_FIL_FEL
    LOCATE 4, 17
    PRINT "L     ";
    URL_FIL = TRIM$(URL_FIL)
'    IF LEN(URL_FIL) = 0 THEN GOTO LAGRING_AV_HAMTAD_FIL_END
'    IF LEN(URL_FIL) = 0 THEN URL_FIL = URL_SAJT_AKTUELL

FASTSTALL_DOKUMENTTYP:
    IF INSTR(UCASE$(URL_FIL), ".PDF") > 0     THEN GOTO LAGRA_PDF_FIL
    IF UCASE$(MID$(FIL_DATA, 1, 5)) = "%PDF-" THEN GOTO LAGRA_PDF_FIL
    IF INSTR(FIL_DATA, ANY BINAR_DATA) > 0 THEN  GOTO LAGRING_AV_HAMTAD_FIL_END
    GOTO LAGRA_TEXT_FIL

LAGRA_PDF_FIL:
    TIDEN = TIME$
    UTFIL_NAMN_PDF = URL_SAJT_AKTUELL + "-" + MID$(TIDEN, 1, 2) + "." + MID$(TIDEN, 4, 2) + "." +  MID$(TIDEN, 7, 2) + ".PDF"
    FILNR_UTFIL_PDF = FREEFILE
    OPEN UTFIL_NAMN_PDF FOR OUTPUT AS #FILNR_UTFIL_PDF
    PRINT #FILNR_UTFIL_PDF, FIL_DATA
    CLOSE #FILNR_UTFIL_PDF
    GOTO LAGRING_AV_HAMTAD_FIL_END
LAGRA_PDF_FIL_END:

LAGRA_TEXT_FIL:
    OPEN UTFIL_NAMN FOR APPEND AS #FILNR_UTFIL
    PRINT #FILNR_UTFIL, FIL_DATA
    CLOSE #FILNR_UTFIL
    GOTO LAGRING_AV_HAMTAD_FIL_END

LAGRING_AV_HAMTAD_FIL_FEL:
    ON ERROR GOTO FELBEHANDLING
    PRINT #FILNR_LOGGFIL, "LAGRING_AV_HAMTAD_FIL FELNR=";ERR
    ERRCLEAR
'    CLOSE
    GOTO LAGRING_AV_HAMTAD_FIL_END

LAGRING_AV_HAMTAD_FIL_END:



UTTAGNING_AV_HREF_I_FILEN:
'=========================
'
    ON ERROR GOTO FELBEHANDLING
    LOCATE 4, 17
    PRINT "H     ";

JUSTERINGAR_AV_FIL_DATA:
    REPLACE "'"     WITH CHR$(34) IN FIL_DATA
    REPLACE "=="    WITH "="      IN FIL_DATA
    REPLACE "../"   WITH ""       IN FIL_DATA
    REPLACE "HREF=" WITH "href="  IN FIL_DATA
    REPLACE "Href=" WITH "href="  IN FIL_DATA
    FIL_DATA = TRIM$(FIL_DATA)

SOKNING_AV_URL_START1:
    FIL_DATA_REST = TRIM$(REMAIN$(FIL_DATA, " href="))
    IF LEN(FIL_DATA_REST) = 0 THEN GOTO UTTAGNING_AV_HREF_I_FILEN_END
    GOTO START_UTTAGNING_AV_URL

START_UTTAGNING_AV_URL:
    IF MID$(FIL_DATA_REST,1, 1) = CHR$(34) THEN GOTO UTTAGNING_AV_URL_MED_CITTATIONSTECKEN
    GOTO UTTAGNING_AV_URL_MED_MELLANSLAG

UTTAGNING_AV_URL_MED_MELLANSLAG:
    URL = EXTRACT$(FIL_DATA_REST, " ")
    FIL_DATA = REMAIN$(FIL_DATA_REST, " ")
    GOTO RENSNING_AV_URL

UTTAGNING_AV_URL_MED_CITTATIONSTECKEN:
    FIL_DATA_REST = MID$(FIL_DATA_REST, 2) ' Första cittationstecken tas bort
    URL = EXTRACT$(FIL_DATA_REST, CHR$(34))
    FIL_DATA = REMAIN$(FIL_DATA_REST, CHR$(34))

RENSNING_AV_URL:
    URL = TRIM$(URL)
    IF INSTR(LCASE$(URL), "mailto:") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(LCASE$(URL), "javascript:") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(LCASE$(URL)+" ", ".exe") > 0 THEN GOTO SOKNING_AV_URL_START1

    IF URL = "/" THEN GOTO SOKNING_AV_URL_START1
    IF MID$(URL, 1, 1) = "/" THEN URL = MID$(URL, 2)

UTTAGNING_AV_URL_SAJT_OCH_URL_FIL:
    URL_SAJT = URL_SAJT_AKTUELL
    URL_FIL = URL
    IF MID$(UCASE$(URL), 1, 7) <> "HTTP://" THEN GOTO UTTAGNING_AV_URL_SAJT__OCH_URL_FIL_END
    URL_SAJT = EXTRACT$(MID$(URL, 8), "/")
    IF MID$(URL_SAJT, LEN(URL_SAJT), 1) = "/" THEN URL_SAJT = MID$(URL_SAJT, 1, LEN(URL_SAJT) - 1)
    URL_FIL =  REMAIN$(MID$(URL, 8), "/")
    IF MID$(URL_FIL, LEN(URL_FIL), 1) = "/" THEN URL_FIL = MID$(URL_FIL, 1, LEN(URL_FIL) - 1)
UTTAGNING_AV_URL_SAJT__OCH_URL_FIL_END:

BORTTAG_AV_SNESTRECK_I_SLUTET:
    IF MID$(URL_SAJT, LEN(URL_SAJT), 1) = "/" THEN URL_SAJT = MID$(URL_SAJT, 1, LEN(URL_SAJT) - 1)
    IF MID$(URL_FIL, LEN(URL_FIL), 1) = "/" THEN URL_FIL = MID$(URL_FIL, 1, LEN(URL_FIL) - 1)

TEST_PA_URL_SAJT:
    IF UCASE$(URL_SAJT) <> UCASE$(URL_SAJT_AKTUELL) THEN GOTO SOKNING_AV_URL_START1

EXLUDERA_VISA_FILTYPER:
    IF INSTR(URL_FIL, ".bat") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".mp3") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".exe") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".gif") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".jpg") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".bmp") > 0 THEN GOTO SOKNING_AV_URL_START1
    IF INSTR(URL_FIL, ".doc") > 0 THEN GOTO SOKNING_AV_URL_START1

SOK_URL_FIL:
    FOR R = 1 TO ANTAL_URL_FIL_TAB
        IF URL_FIL_TAB (R) = URL_FIL THEN GOTO SOKNING_AV_URL_START1
    NEXT R
    INCR ANTAL_URL_FIL_TAB
    IF ANTAL_URL_FIL_TAB > 1000000 THEN
        LOCATE 10,1
        PRINT "URL_FIL_TAB för liten"
        GOTO SLUTSEKVENS
    END IF
    URL_FIL_TAB (ANTAL_URL_FIL_TAB) = URL_FIL
    GOTO SOKNING_AV_URL_START1

UTTAGNING_AV_HREF_I_FILEN_END:



START_HAMTNING_AV_NY_SIDA:
'========================
'
NAST_RAD:
    INCR NR_TAB
    IF NR_TAB > ANTAL_URL_FIL_TAB THEN GOTO SLUTSEKVENS
    URL_FIL = URL_FIL_TAB (NR_TAB)
    SVAR = SKRIV_TAL(ANTAL_URL_FIL_TAB, 6, 17)
    GOTO HAMTNING_AV_WEBSIDA



FELBEHANDLING:
'=============
'
    LOCATE 10,1
    PRINT "FEL="; ERR
    PRINT #FILNR_LOGGFIL, "FEL="; ERR
    GOTO PROGRAMSLUT



SLUTSEKVENS:
'===========
'
AVSLUTNING:
    IF AVBRYT > 0 THEN PRINT #FILNR_LOGGFIL, "KÖRNING AVBRUTEN MED <ESC>"
    CLOSE #FILNR_LOGGFIL
    LOCATE 19, 1

STARTA_KONVERTERING_TILL_TEXTFIL:
    UTFIL_NAMN_FORLED = EXTRACT$(UTFIL_NAMN, ".HTM")
    KOMRAD = "HTMLTOTXT " + UTFIL_NAMN + " " + URL_SAJT_AKTUELL + ".txt"
    PID = SHELL(KOMRAD)



PROGRAMSLUT:
END FUNCTION


'*****************************************************************
'                                                                *
'   F U N K T I O N E R                                          *
'                                                                *
'*****************************************************************
FUNCTION SKRIV_TAL(TAL AS LONG, RADNR AS LONG, KOLNR AS LONG) AS LONG
'==========================================================
'
    DIM ANTAL_TEXT AS LOCAL STRING

    ANTAL_TEXT = SPACE$(9)
    RSET ANTAL_TEXT = FORMAT$(TAL, "#,###,##0")
    REPLACE "," WITH "." IN ANTAL_TEXT
    LOCATE RADNR, KOLNR
    PRINT ANTAL_TEXT;

END FUNCTION


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 490
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies