Mine værktøjer
Du er her: Forside diverse filer til download mm. find_exp_spm.py
Handlinger tilknyttet webside

find_exp_spm.py

af adminSidst opdateret 29/06 2008 13:20

Udskriv spørgsmål - gem som pdf Hej Er det muligt at få vist alle ens spørgsmål og svar efter kategori, og udskrive dem på en printer, se dem så man kan gemme teksten eller få dem lavet til en pdf? På den måde kunne man gå tilbage til dem når man var offline også Hvis ik det er muligt, så er det et forslag

Klik her for at hente fil

Størrelse: 3.8 kB - Filtype text/python-source

Indhold af fil-indholdsobjekt

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
""" <kategory> <login> [<output>]
kategory: from www.eksperten
output  : file to placed the result. Defaults to <kategory>.data
"""

import urllib
import sys

def read_kategory(kategory="Sikkerhed", login="", output=""):
    working = ".oOo"
    loginStr = "bruger.phtml?navn=%(login)s" % vars()
    if output:
        out = open(output, "w")
    else:    
        out = open(kategory+".data", "w")


    url = 'http://www.eksperten.dk/spm/%(kategory)s/' % vars()
    i=-1
    while True:
        html = urllib.urlopen( url ).read()
        position = 0
        endpostion = len(html)
        while True:
            try:
                position = html.index('class="listbox"',position)+1
                endposition = html.index('class="listbox"',position)+1
            except:
                break
            hrefpos = position
            # print position
            while True:
                hrefpos = html.find( "href=" , hrefpos, endposition )+1
                if hrefpos == 0:
                    break
                startpos = html.find('"',hrefpos)+1
                endpos = html.find('"', startpos)
                href = "http://www.eksperten.dk%s/" % html[startpos:endpos]
                # print href
                question = urllib.urlopen(href).read()
                i+=1
                print working[i % len(working)],
                sys.stdout.flush()
                if question.find(loginStr) == -1:
                    continue

                qStr = '<meta name="description" content="'
                qstart = question.index(qStr) + len(qStr)
                qend = question.find('/>',qstart)
                # Question
                out.write(question[qstart:qend]+"\n")
                p_start = qend
                while True:
                    nameStr = 'link_black_spm"'
                    stop = len(nameStr)
                    p_start = question.find( nameStr, p_start ) + len(nameStr) + 1
                    p_end = question.find( "<", p_start )
                    if p_start == stop:
                        break
                    # besvaret af
                    out.write("Navn " + question[p_start:p_end] + "\n")
                    s_answerStr = 'spm-respons">'
                    try:
                        s_answer = question.index(s_answerStr, p_start) + len(s_answerStr)
                    except:
                        break
                    p_start = question.find("</td>",s_answer )
                    if p_start == -1:
                        break
                    # svar
                    out.write("Svar " +  question[s_answer:p_start] + "\n")
            endpos = html.find(">&gt;&gt;<")
            startpos = html.find('href="/spm/%(kategory)s' % vars(), 0, endpos)
            startx = html.find('"' ,startpos) + 1
            endx = html.find('"',startx )
            url = 'http://www.eksperten.dk' + html[startx:endx]

Kategorier = [
    "Databaser",
    "Design",
    "Diverse",
    "E-losninger",
    "Eksperten",
    "Generelt-IT",
    "Hardware",
    "Internet",
    "Job-opgaver",
    "Netvaerk",
    "Opgaver",
    "PDA",
    "Programmer",
    "Programmering",
    "Sikkerhed",
    "Styresystemer",
    ]


if __name__ == "__main__":
    if len(sys.argv ) == 1:
        print "Usage:", sys.argv[0], __doc__ , "\nKategorier er:\n\t", "\n\t".join(Kategorier)
        sys.exit(0)

    kategory = sys.argv[1]

    if len(sys.argv) > 2:
        login=sys.argv[2]

    if len(sys.argv) > 3:
        output=sys.argv[3]
    else:
        output=kategory + ".data"
    if kategory not in Kategorier:
        print "Wrong kategory\nUsage:", sys.argv[0], __doc__ , "\nKategorier er:\n\t", "\n\t".join(Kategorier)
        sys.exit(0)
    read_kategory(kategory=kategory, output=output, login=login)
« august 2018 »
søn man tir ons tor fre lør
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Chat Rooms
Dyrk motion

Trim ballerup

 

Powered by Plone, the Open Source Content Management System