Mine værktøjer
Du er her: Forside Python program eksempler. find_exp_spm

find_exp_spm

Tilbage

Hent filen

Licens GPL

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

#!/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