Present for you...



  • Think of it as a belated goodbye present: Some statistics about the board, harvested by my webspiders Julia and Winston. (Written in Python)
    Note that they didn't check multipage topics.

    Total threads on this board: 1460 | People: 627
    Posts: 11341 | Posts per capita:  18
    Members sorted by number of posts, least to greatest.
    (b)     Member's Name       | Number Of posts(/b)
    (b)             ChaoticKaren(/b)  10
    (b)                JackFrost(/b)  10
    (b)                  Lary316(/b)  10
    (b)     Merlyn the MagickMan(/b)  10
    (b)                    Nixus(/b)  10
    (b)                  Tobbles(/b)  10
    (b)                   Tricky(/b)  10
    (b)                  bournie(/b)  10
    (b)               opaustopin(/b)  10
    (b)                theScribe(/b)  10
    (b)                    Bafii(/b)  11
    (b)                 Dark Jet(/b)  11
    (b)                   Kelsan(/b)  11
    (b)                MGL_Erica(/b)  11
    (b)                 Obsidian(/b)  11
    (b)            RibbitingFrog(/b)  11
    (b)             Therru Flame(/b)  11
    (b)                 fizbiker(/b)  11
    (b)         kc3_2_and_pooper(/b)  11
    (b)                  nukem53(/b)  11
    (b)                  rUmbler(/b)  11
    (b)                Blackfern(/b)  12
    (b)             Fanatic72802(/b)  12
    (b)                   Heidel(/b)  12
    (b)                  Nadir I(/b)  12
    (b)                Tigerhawk(/b)  12
    (b)               Trundaylan(/b)  12
    (b)             Alpha-Alaric(/b)  13
    (b)                    Nexus(/b)  13
    (b)               Starkiller(/b)  13
    (b)               yourmonkey(/b)  13
    (b)                   Eldrad(/b)  14
    (b)               Flatulence(/b)  14
    (b)                 Iheredoe(/b)  14
    (b)                JimGPhynn(/b)  14
    (b)                   Madman(/b)  14
    (b)                   Tyrael(/b)  14
    (b)                    forge(/b)  14
    (b)              systemerror(/b)  14
    (b)                     Cody(/b)  15
    (b)                Lequis MX(/b)  15
    (b)          Raistlin Majere(/b)  15
    (b)                WhiteWolf(/b)  15
    (b)                 hyperion(/b)  15
    (b)                 micmanau(/b)  15
    (b)              Chef Shiloh(/b)  16
    (b)                TazmaniaD(/b)  16
    (b)                   sncatc(/b)  16
    (b)                     Luke(/b)  17
    (b)                 Fletcher(/b)  18
    (b)                    Selth(/b)  18
    (b)                   Smarty(/b)  18
    (b)            bellerophon33(/b)  18
    (b)                     Adzy(/b)  19
    (b)                 GrahamVH(/b)  19
    (b)                      Ice(/b)  19
    (b)                    disco(/b)  19
    (b)                  spamguy(/b)  19
    (b)                  Katerei(/b)  20
    (b)                   Verran(/b)  20
    (b)                  vIsitor(/b)  20
    (b)                 Aventari(/b)  21
    (b)                  Seldane(/b)  21
    (b)       The Crimson Dagger(/b)  21
    (b)              Forcemaster(/b)  22
    (b)                 Lemenath(/b)  22
    (b)                   Matrix(/b)  23
    (b)                 Pippin 3(/b)  23
    (b)              bellerophen(/b)  23
    (b)                     rmal(/b)  23
    (b)                   Karana(/b)  24
    (b)                    Whurp(/b)  24
    (b)                Paradox09(/b)  25
    (b)           Desert Tempest(/b)  26
    (b)                  imacian(/b)  27
    (b)         Adolf the Viking(/b)  28
    (b)                  Croikle(/b)  28
    (b)           Olivia Chillia(/b)  28
    (b)                   Violet(/b)  28
    (b)                   ckelsh(/b)  29
    (b)                  gujamin(/b)  29
    (b)                   Celchu(/b)  30
    (b)                 Firebird(/b)  30
    (b)             Lord Gwydion(/b)  30
    (b)                   Neoliz(/b)  30
    (b)              LoneIgadzra(/b)  31
    (b)               Lusankya23(/b)  31
    (b)               ColdFusion(/b)  32
    (b)           Admiral Dennis(/b)  33
    (b)                    Ronin(/b)  33
    (b)                 Overmind(/b)  34
    (b)              Black Beard(/b)  36
    (b)                 Blackdog(/b)  37
    (b)              supersaiyan(/b)  39
    (b)                Sephiroth(/b)  40
    (b)                   yomcat(/b)  40
    (b)          -esw-dragoon_77(/b)  41
    (b)                     Talm(/b)  41
    (b)                 Thursday(/b)  42
    (b)                 Mr.brian(/b)  53
    (b)                     Paul(/b)  53
    (b)                 gandreas(/b)  55
    (b)                   andrew(/b)  58
    (b)            Pallas Athene(/b)  63
    (b)                 Aben Zin(/b)  64
    (b)                  Beatrix(/b)  64
    (b)            theGlueBubble(/b)  65
    (b)                  Big Joe(/b)  66
    (b)                SuperNova(/b)  67
    (b)                    Zelda(/b)  70
    (b)               Desert Fox(/b)  74
    (b)            Macintosh Man(/b)  79
    (b)                  glaive6(/b)  80
    (b)                     dusk(/b)  86
    (b)              GameFanatic(/b)  90
    (b)                 DataSpot(/b)  96
    (b)                    Ereid(/b)  101
    (b)                   Magpie(/b)  103
    (b)              Tycho Maudd(/b)  103
    (b)                  J.Ace21(/b)  119
    (b)                  Grapper(/b)  156
    (b)                    Croax(/b)  160
    (b)               Moonshadow(/b)  170
    (b)             Mr. Somebody(/b)  223
    (b)                 iKaterei(/b)  233
    (b)          Theo Nean Donly(/b)  291
    (b)            TheDarkDragon(/b)  304
    (b)              idiotSavant(/b)  304
    (b)               theKestrel(/b)  322
    (b)               ferazel_09(/b)  356
    (b)                  cache22(/b)  409
    (b)                    Talos(/b)  469
    (b)                    Bryce(/b)  618
    (b)                    Rogan(/b)  670
    (b)                   Slayer(/b)  862
    (b)                  Avatara(/b)  906
    

    ------------------
    "Programming is an art form that fights back."

    (=SYME, 'DNE', '01'=)

    (This message has been edited by Bryce (edited 11-17-2003).)



  • Maybe you should work on that multipage topic feature - it certainly seems like Nixus should be higher up there. It might also be nice to see an average length feature, but that's certainly not necessary (and I wouldn't want to make unreasonable demands of the programmer ;)).

    ------------------
    (~%) ssh localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    RSA key fingerprint is 93:33:b4:fc:b8:03:b4:45:15:31:99:1a:a3:1f:a5:ac.
    Are you sure you want to continue connecting (yes/no)?



  • here's the current code:

    #!/usr/bin/python
    # Winston 1.0
    # by Bryce Schroeder.
    # for use with Julia and Syme.
    verbose = 0
    
    import urllib
    import sys
    
    urlopen = urllib.urlopen
    
    
    position, count = 0,0
    posternames = ()
    
    if verbose == 1:
    	print "Opening target URL."
    
    if sys.argv(1) == '-v': # The case of -v mode, where more data is given
    	targetURL = urlopen(sys.argv(2))
    	mode = 1
    	verbose = 1
    elif sys.argv(1) == '-s': # Search mode, where posts of a person are listed.
    	targetURL = urlopen(sys.argv(3))
    	mode = 2
    elif (sys.argv(1) == '-h'): # help me obi-wan...
    	print "Winston:"
    	print "Copyright 11/2003 Bryce Schroeder. (bryce@lanset.com IM: AIM4Bryce)"
    	print "Usage: winston (-s <name>|-v) <url>"
    	print "-s: search for posts by <name> in <url>, listing the numbers of the"
    	print "postings by <name>."
    	print "-v: normal behavior, but be verbose."
    	sys.exit(0)
    else: # Normal use, just take an URL and give a list of posts.
    	targetURL = urlopen(sys.argv(1))
    	mode = 0
    
    target = targetURL.read()
    # now that we have the data, we must parse out the names of the posters and
    # their posts. They go into a list...
    
    if verbose == 1:
    	print "Parsing recived data."
    
    # loop to parse the found data.
    while 1:
    	found = target.find('NAME="', position)
    
    	# if we are out of founds, we must be done...
    	if found < 0:
      break
    	
    	position = found + 6
    
    	# isolate poster's name.
    	quote = target.find('"', position)
    	name = target(quote + 5:target.find('<', quote+5))
    	
    	# show something
    	if verbose == 1:
      print "Post by", name
      
    	posternames.append(name)
    	#wend
    posternames = posternames(0:-3)
    
    if mode == 0:
    	for name in posternames:
      print name
    elif mode == 1:
    	for name in posternames:
      print name
    else: # If we're here, it was in mode 2: search.
    	for name in posternames:
      if name == sys.argv(2):
     	 print count
     	 
      count += 1
    #done
    

    Add the features you want, post the altered code. :)
    Actualy, I am planning to rewrite it to gather a bunch of other data, so maybe you shouldn't. And yes, it's not the best code, but I hadn't coded in Python in a long time. I think I'm starting to remember it now :D

    ------------------
    "Programming is an art form that fights back."

    (=SYME, 'DNE', '01'=)



  • I'm thinking of using an XML based format for storing the retrived data, something like this:

    <forum number='5' name='Cythera Web Board' location='http://www.ambrosiasw.com/webboard/Forum5/'>
            <topic title='How do I finish the wine mission?' posts='2' views='24' date='11-17-03'>
                    <post author='J. R. Neube' location='Nubistan' karma='0' status='member' 
    postcount='1' email='spamme2163782635@aol.com'>
                    How do u finish that misn with the wine contract n stuf??? i cant figure it out!!
         (img)http://www.AmbrosiaSW.com/webboard/confused.gif(/img)     (img)http://www.AmbrosiaSW.com/webboard/confused.gif(/img)     (img)http://www.AmbrosiaSW.com/webboard/frown.gif(/img)
                    </post>
                    <post author='Reyals' localtion='Nil' karma='blessed' status='moderator' 
    postcount='8530' email='dougben@Houyhnhnm.net'>
                    You can't, sorry, it's just a teaser for the rest of the plot.
                    </post>
            </topic>
    </forum>
    
    'Course, the real thing would have more than one topic     (img)http://www.AmbrosiaSW.com/webboard/smile.gif(/img)
    

    ------------------
    "Programming is an art form that fights back."

    (=SYME, 'DNE', '01'=)

    (This post was stretching out the entire topic horizontally --Slayer)

    (This message has been edited by Slayer (edited 11-25-2003).)



  • HOORAY! :)
    I thought that there were no more posts on Cythera here, since the game is so darn old. I WAS WRONG! I promise to come back here again soon, and talk to you guys about Cythera. Pardon me, since I posted something completely off topic, but I am so glad to find this!



  • ???

    Who are you?



  • Quote

    Originally posted by vIsitor.:
    **???

    Who are you?**

    Who are -you-? Isn't it a bit hypocritical to bring up someone's anonymity when you haven't even registered? :p

    ------------------
    Support the Movement: Ban Propaganda!



  • Why wouldn't you two want to register? The only thing Ambrosia really wants to know about you when you register is your email address, and they don't spam it or sell your email to other companies like some other webboards out there. And why is this particular topic so stretched out on my screen?

    ------------------
    "On two occasions, I have been asked (by members of Parliament), 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question." -- Charles Babbage (1791-1871) Inventor of the "Analytical Engine", the first computer.

    (This message has been edited by Big Joe (edited 11-20-2003).)



  • Quote

    Originally posted by Big Joe:
    **And why is this particular topic so stretched out on my screen?

    **

    I think it may have something to do with Bryce's code.
    --

    I forgot that I posted here so many times. It's a shame that I didn’t get a chance to play Cythera again before my new (in terms of ownership, not age) Mac started crashing on startup.

    ------------------
    Yet another meaningless post
    <(url="http://"http://www.evula.com")E(/url)(url="http://"http://www.evula.net")V(/url)(url="http://"http://www.evula.org")ula link(/url)>



  • So far, I have a script to retrieve all of the topics of a forum (from all pages) within a given number of days. I haven't worked on it in a couple days, but it should be no big trouble to extend it to do the same sort of thing with the topics themselves.

    I don't have the code at hand, but here's something that might make it a bit easier for you (not bug-checked):

    import re
    
    page = '...'                           # The topics page should actually be used   (img)http://www.AmbrosiaSW.com/webboard/wink.gif(/img)
    match = 1
    topics = ()
    
    while match:
        regexp = re.compile(r'<A HREF="http://www.AmbrosiaSW.com/cgi-bin/ubb/postdisplay.cgi?
    forum=Forum(P<ForumID>d{1,3})&topic;=(P<TopicID>d{6,6})">(P<Subject>.{1,40})<A>(P<Remaind er>.*)')
        match = regexp.search(page)
        if match:
            groups = match.groups()
            topics.append((groups(1:3)))   # TopicID and Subject to topics list
            page = groups(3)               # Prepare to search Remainder of document
    
    print str(topics)
    

    ------------------
    (~%) ssh localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    RSA key fingerprint is 93:33:b4:fc:b8:03:b4:45:15:31:99:1a:a3:1f:a5:ac.
    Are you sure you want to continue connecting (yes/no)?

    (The code was causing the entire topic to be stretched horizontally --Slayer)

    (This message has been edited by Slayer (edited 11-21-2003).)



  • Quote

    Originally posted by Pallas Athene:
    **< snip>
    **

    Tried it, printed just an () empty list, sorry.

    ------------------
    "Programming is an art form that fights back."

    (=SYME, 'DNE', '01'=)



  • Yeah, things are so wide on my screen too!



  • Sob.... Seldane is not on that list....



  • Quote

    Originally posted by Seldane-lost pw! (again):
    Sob.... Seldane is not on that list....

    Yes he is:
    **
    vIsitor 20
    Aventari 21
    Seldane 21
    The Crimson Dagger 21
    Forcemaster 22
    Lemenath 22
    Matrix 23
    Pippin 3 23
    bellerophen 23
    **

    ------------------
    "Programming is an art form that fights back."

    (=SYME, 'DNE', '01'=)



  • Makes me wonder what the stats look like when you combine multiple accounts. Glancing, notices Tyrael, Trundaylan, Avatara (and I don't even remember the rest) Speaking of which, JackFrost made it on there, but none of my other clones did... guess I just find that curious because I consider him my least used. But here's 11th for the guy that really hasn't posted here in like 2 years! Cytheran to the core. It kinda makes me sad to realize that while two of our mods are very high posters, two others I won't name are significantly lower. Guess they just never much got into the team stories ;)

    ------------------
    "Ai! laurië lantar lassi súrinen! ... Nai elyë hiruva. Namárië!"
    The One And Only:
    (url="http://"http://www.ambrosiasw.com/webboard/Forum5/HTML/000506.html")~Theo Nean Donly~(/url)


Log in to reply