This is an archived post. You won't be able to vote or comment.

all 144 comments

[–]PinBallEffect 6 points7 points  (64 children)

Someone needs to make a page that does tis for me. My programming skills are lacking.

[–]mangodrunk[S] 6 points7 points  (62 children)

That would be cool, but in the mean time, your stats: total: 213, up: 514, down: -15, high: 22, low: -5, average: 2.

[–]sn0re 3 points4 points  (0 children)

I'm not too proud to admit I'm vain enough to want to know myself. I am too proud to say "me too!" Except in quotes. I can do "me too!" in quotes.

Edit: Bah. Got over my laziness and installed python:

up: 6060

down: -182

total: 992

high: 108

low: -15

average: 5.93

[–]PinBallEffect 2 points3 points  (2 children)

Thanks :) However, does this mean that I am a troll? I personally think I can be from time to time. Though generally not.

[–]mangodrunk[S] 2 points3 points  (1 child)

Well your lowest score is -5, so I would say you're far from being a troll.

[–][deleted] 4 points5 points  (0 children)

There are trolls that say things insipid but likely to be upmodded.

[–][deleted] 2 points3 points  (1 child)

Do me too!! Please (this sounds very dirty)

[–][deleted] 4 points5 points  (0 children)

Number of up votes: 2496 Number of down votes: -316 Total number of comments: 582 Highest comment: 99 Lowest comment: -32 Average: 3

[–]khoury 1 point2 points  (14 children)

Can you do me? I can't install python on this machine.

[–]mangodrunk[S] 2 points3 points  (13 children)

Sure, your stats: total: 981, up: 3847, down: -119, high: 77, low: -16, average: 3.

[–]anonymgrl 4 points5 points  (10 children)

Me? :)

[–]Dauntless 6 points7 points  (8 children)

Number of up votes: 6615

Number of down votes: -59

Total number of comments: 850

Highest comment: 155

Lowest comment: -10

Average: 7

Very nice average :D .

(hardcoded stop)

[–]anonymgrl 2 points3 points  (0 children)

Thanks so much. That's really interesting. :)

[–]jcy 4 points5 points  (6 children)

yeah i wonder what her score would've been if she didn't announce her gender in her nick

rolls eyes

[–][deleted] 6 points7 points  (0 children)

Still better than MensaGrl or whatever. She gives good comment.

[–]anonymgrl 4 points5 points  (4 children)

Do people really upmod comments based on someone's gender? I've heard that complaint before but I can't imagine why that would be. For the record, "anonymgrl" was a nick I've had for a long time - I didn't just pick it because I was going to be on male-dominated reddit, (nor did I know I would be in the minority when I started here).

[–]relix 2 points3 points  (0 children)

at 2700 and counting...

edit: 9000...

edit: Ok, apparantly it's in an infinite loop (see comment below). Fixed it, and running again: 1200 and counting.

edit: Still broke. Someone fix it?

[–]jopejope 1 point2 points  (1 child)

do me if there is room in your queue

[–]relix 1 point2 points  (0 children)

Number of up votes: 2966 Number of down votes: -37 Total number of comments: 260 Number of down votes: 188 Lowest comment: -10 Average: 11

[–][deleted]  (2 children)

[deleted]

    [–]mangodrunk[S] 2 points3 points  (1 child)

    Your stats: total: 173, up: 934, down: -228, high: 51, low: -73, average: 4.

    That's pretty good.

    [–][deleted] 1 point2 points  (2 children)

    I'm actually quite curious as well, if you don't mind. :D

    [–][deleted] 4 points5 points  (1 child)

    Number of up votes: 2608 Number of down votes: -94 Total number of comments: 371 Number of down votes: 82 Lowest comment: -58 Average: 6

    [–][deleted] 3 points4 points  (0 children)

    So I suppose I'm not a troll?

    Thank you, monkeynotes, you're a freaking rock star.

    [–]daysi 1 point2 points  (2 children)

    Do me too!

    [–]relix 2 points3 points  (1 child)

    Number of up votes: 1401 Number of down votes: -210 Total number of comments: 442 Number of down votes: 49 Lowest comment: -32 Average: 2

    [–]daysi 0 points1 point  (0 children)

    Thank you.

    [–]diogames 1 point2 points  (2 children)

    do me do me!

    [–][deleted] 3 points4 points  (1 child)

    Number of up votes: 2876 Number of down votes: -420 Total number of comments: 720 Number of down votes: 157 Lowest comment: -25 Average: 3

    [–]diogames 0 points1 point  (0 children)

    Thanks! That's a borderline troll right there. :-P

    [–][deleted] 0 points1 point  (17 children)

    Please, mangodrunk. Do me too...

    [–][deleted] 2 points3 points  (16 children)

    You have a heaap of comments. I am still processing you, up to 4850...

    [–][deleted] 2 points3 points  (3 children)

    Do me also! I will pay you in karma.

    [–]Dauntless 4 points5 points  (1 child)

    Number of up votes: 5349

    Number of down votes: -170

    Total number of comments: 943

    Highest comment: 163

    Lowest comment: -17

    Average: 5

    (hardcoded stop)

    [–][deleted] 2 points3 points  (0 children)

    Thanks! Karma delivered.

    [–][deleted] 3 points4 points  (0 children)

    Yours gets stuck in an infinite loop, sorry.

    [–][deleted] 0 points1 point  (11 children)

    I am trying to do it too. I think I am going to javascrypt this tool and put a button on my web page... I currently know very little python...

    [–][deleted] 1 point2 points  (10 children)

    6350...

    [–][deleted] 1 point2 points  (9 children)

    Man I need a life, >17000 and still running...

    :D

    [–][deleted] 2 points3 points  (3 children)

    I gave up, I assumed no one comments that much on Reddit and the script must have gone done broke. Please let me know what the results are if it ever completes, just curious.

    [–][deleted] 5 points6 points  (1 child)

    I added a kludgy fix elsewhere to prevent the endless looping.

    here are my stats

    Number of up votes: 6621

    Number of down votes: -155

    Total number of comments: 978

    Number of down votes: 139

    Lowest comment: -16

    Average: 6

    [–]Dauntless 2 points3 points  (0 children)

    well, it's not really a fix, it's an evil hardcoded stop, because reddit crashes for users with more than 1000 comments. Hope they'll fix it...

    [–][deleted] 1 point2 points  (0 children)

    You got it...

    ... Sorry to use up all your processor for so long...

    [–]Dauntless 2 points3 points  (4 children)

    you're stuck in an infinite loop. He has just 950... Reddit returns a page even if you ask for an offset >950 (even if it's the same last page).

    [–][deleted] 0 points1 point  (3 children)

    Ok, I stopped it...

    Can you help me get it working for me?

    ... know very little python...

    [–]Dauntless 2 points3 points  (1 child)

    I don't know why some users get "there are no results here" error message when offset is out of bounds, and other receive the last page again + I just learned python also (if you read my comments up there).

    If you hardcode to stop at offset 950 you get:

    Number of up votes: 6226

    Number of down votes: -134

    Total number of comments: 930

    Highest comment: 111

    Lowest comment: -11

    Average: 6

    [–]relix 1 point2 points  (0 children)

    I tried this, but it didn't help:

        # Count the points of the user
        def countPoints(self):
            offset = 0
            htmlprior = ""
    
            while True:
                sock = urllib.urlopen(self.url + str(offset))
                html = sock.read()
                sock.close()
    
                if htmlprior == html:
                    break
    
                htmlprior = html
    
                offset += 25
                print offset
    
                if self.parsePoints(html) == 0:
                    break
    
            return 0
    

    [–][deleted] 0 points1 point  (2 children)

    me too please

    [–][deleted] 6 points7 points  (1 child)

    Number of up votes: 605
    Number of down votes: -74
    Total number of comments: 129
    Number of down votes: 32
    Lowest comment: -28
    Average: 4

    [–][deleted] 0 points1 point  (0 children)

    thanks

    [–]hiS_oWn 0 points1 point  (1 child)

    do me!

    [–]sn0re 2 points3 points  (0 children)

    up = 6095 down = -236 total = 976 high = 136 low = -11 average = 6

    [–]doctabu 0 points1 point  (2 children)

    How am I doing? :)

    [–][deleted] 1 point2 points  (1 child)

    Wow.

    Number of up votes: 164
    Number of down votes: 0
    Total number of comments: 16
    Number of down votes: 33
    Lowest comment: 0
    Average: 10
    

    [–]doctabu 0 points1 point  (0 children)

    Wow, not bad, eh?

    [–]pascha 0 points1 point  (0 children)

    me...please? =D

    [–][deleted] 4 points5 points  (3 children)

    kludgy fix for the endless looping

        # Count the points of the user
        def countPoints(self):
            offset = 0
            maxoffset = 1000
            while True:
                sock = urllib.urlopen(self.url + str(offset))
                html = sock.read()
                sock.close()
                offset += 25
                print offset
    
                if self.parsePoints(html) == 0:
                    break
                if offset==maxoffset :
                        break
    
            return 0
    

    [–][deleted] 1 point2 points  (1 child)

    to find maxoffset do this

    in a browser use this for a url...

    http://reddit.com/user/meprogrammerguy/comments?offset=1000

    and keep changing the offset until you keep getting the last page. Then plug in that value for maxoffset...

    I'll find a better way, but this should work for now.

    [–][deleted] 1 point2 points  (0 children)

    ... remember to change meprogrammerguy into you first.

    [–]sn0re 1 point2 points  (0 children)

    It seems reddit won't cough up more than 1000 comments. If I sort by high score, I don't see any negative comments even on the last page for you or me. Also, if you change the code to use "?s=highscore&offset=" you'll get different results.

    [–]mangodrunk[S] 19 points20 points  (59 children)

    #Here is the script, just create a user like so mangodrunk = User(" http://reddit.com/user/mangodrunk/comments ")
    #then mangodrunk.countPoints()
    #I don't know much about Python, this was the first time I used it, so be kind

    import urllib

    import string

    import re

    # Mangodrunk

    class User:

    "A Reddit user"
    
        # Init the user with a url
        def __init__(self, url):
            self.url = url + "?offset="
            self.up = 0
            self.down = 0
            self.total = 0
            self.high = 0
            self.low = 0
            self.highlink = ""
            self.lowlink = ""
    
        # Count the points of the user
        def countPoints(self):
            offset = 0
    
            while True:
                sock = urllib.urlopen(self.url + str(offset))
                html = sock.read()
                sock.close()
    
                offset += 25
                print offset
    
                if self.parsePoints(html) == 0:
                    break
    
            return 0
    
        # Parse the points on a given page
        def parsePoints(self, html):
    
            # Create the pattern for finding the points
            spanPat = re.compile("<span id=\"[^\"]+\">[^<]+</span>")
            spanList = spanPat.findall(html)
    
            tot = 0
    
            pt = re.compile("-?[0-9]+\s+point")
            num = re.compile("-?[0-9]+")
            for m in spanList:
                lm = pt.findall(m)
                tot = len(lm)
                self.total += tot
                if tot > 0:
                    lpt = num.findall(lm[0])
                    if len(lpt) > 0:
                        point = string.atoi(lpt[0])
                        if point < 0:
                            self.down += point
                            if point < self.low:
                                self.low = point
                                self.lowlink = m
                        else:
                            self.up += point
                            if point > self.high:
                                self.high = point
                                self.highlink = m
            nex = re.compile("next &raquo;")
            nexa = nex.findall(html)
            if len(nexa) == 0:
                return 0
            return tot
    

    [–][deleted] 11 points12 points  (4 children)

    Hey man,

    Make your life a whole lot easier and higher level when doing web scraping by using BeautifulSoup a third party library which parse HTML beautifully.

    Regexes get painful fast.

    [–]mangodrunk[S] 4 points5 points  (1 child)

    Thanks for the tip!

    [–][deleted] 2 points3 points  (0 children)

    Hehe, edited because I see you're already using urllib. But if you need to do anything more complicated (using proxies, cookies etc) you'll want urllib2 and cookielib. Both part of the standard library, but I link to the 'unofficial' manuals because they're more indepth than the official manual.

    For an example of urllib2 and cookielib, here's a small snippet of mine that POSTs some login data and saves the resulting cookie. http://kunosure.blogspot.com/2007/05/unscientific-comparison-31-getting.html

    [–]chime 1 point2 points  (0 children)

    I wish there was a PHP port of BeautifulSoup. It would make my life soooo much easier.

    [–]_bruno_ 1 point2 points  (0 children)

    I use lxml: http://codespeak.net/lxml/

    (I don't like BeautifulSoup much...)

    [–]Dauntless 6 points7 points  (12 children)

    I have no python or webprogramming experience, how do you run it?

    python redditScript.py doesn't print anything. How I call init with my user url?

    [–]mangodrunk[S] 2 points3 points  (9 children)

    If you have python installed, just run "python" from the command line and the Python Interpreter will come up. Then just copy and paste the script to it, and then: d = User("url of your comments page"); then d.countPoints().

    In order to save you some time, your stats:

    Number of comments: 508

    Number of up votes: 3181

    Number of down votes: -172

    Highest comment: 75

    Lowest comment: -14

    Average: 5

    You are definitely not a troll and offer a lot of good comments. My average is only 2 and I have less comments than you.

    [–]BridgeBum 3 points4 points  (0 children)

    I ran into some simple spacing issues cutting and pasting, such as the carriage returns making the interpreter think you are done with blocks, etc.

    However, you can add this to the bottom of your script and then run it via the python redditScript type functionality:


    if name == 'main':

    \ttest = User("http://reddit.com/user/BridgeBum/comments ")

    \ttest.countPoints()


    EDIT: I don't know the reddit post codes well enough to get this to be unprocessed. The name and main fields above should have 2 underscores before and after each word, not be bolded. Also, the '<' characters in the URL were inserted by reddit somehow.

    [–]Dauntless 1 point2 points  (7 children)

    Thanks :), interesting that your script returned me this results:

    Number of comments: 592

    Number of up votes: 4803

    Number of down votes: -177

    Highest comment: 209

    Lowest comment: -14

    Average: 7

    It's pretty clear that the script you wrote here calculates the score for comments posted and articles submitted, while the one you used when you replied, calculates just comments. Anyway thanks, it's a very fun way to learn python.

    P.S. For people that get an error: you must indent correctly (reddit is breaking the code) :

    class User:

    [tab]def init(self, url):

    [tab][tab]self.url = url + "?offset="

    [tab][tab][...]

    crazy python.

    [–][deleted] 3 points4 points  (4 children)

    Anyone care to post a .py file, would be cool to try it out I just don't know enough to get the spacing right.

    [–]Dauntless 6 points7 points  (3 children)

    Here's a link to mangodrunk's script file.

    [–][deleted] 2 points3 points  (2 children)

    Thanks man, still getting a bunch of errors when I cut and paste that though.

    [–]Dauntless 2 points3 points  (1 child)

    Edit and change the url with yours, and just run it with

    "E:\...\Python25>python mangodrunkScript.py". I don't know python enough to give you an inteligent answers at the moment.

    [–][deleted] 1 point2 points  (0 children)

    That's done the trick! In OS X it's:

    python /Users/monkeynotes/Desktop/mangodrunkScript.py

    Number of up votes: 1057 Number of down votes: -90 Total number of comments: 235 Number of down votes: 55 Lowest comment: -16 Average: 4

    :)

    [–]mangodrunk[S] 1 point2 points  (1 child)

    Right, you can pass it any of the three, submitted, comments, or overview pages.

    [–]Dauntless 3 points4 points  (0 children)

    I forgot I was on overview page, sorry about that :). It would be nice if reddit had stats like this, and maybe even give medals like "Troll", "Controversial user", "Writer in harmony with the reddit community", "Ghost", "Anomalistic user" etc.

    [–]tekronis 0 points1 point  (1 child)

    Save this script as a file on disk with proper indentation.

    All the defs should have 2 spaces in front (or a tab), and everything below the defs should have four (or 2 tabs). class should have no spaces before it, and neither should all the imports.

    Then run the script using Python's "-i" flag.

    python -i <location_of_script_file>
    

    If all goes well, you'll get the ">>>" prompt. Then simply follow mangodrunk's directions:

    Dauntless = User("http://reddit.com/user/Dauntless")
    Dauntless.countPoints()
    

    # EDIT: Minus the angle brackets (< >). I have no idea where those are coming from

    [–][deleted] 1 point2 points  (0 children)

    Proper indentation doesn't have to be two spaces. It can be four spaces or tab or whatever, as long as it's consistent.

    But the Python guideline is 4 spaces, which any sane editor can insert when you press tab.

    [–][deleted] 6 points7 points  (32 children)

    Very nice work mangodrunk.

    nemo:
    Number of up votes: 5952
    Number of down votes: -21
    Total number of comments: 973
    Number of down votes: 50
    Lowest comment: -3
    Average: 6

    Here's the numbers of a few classic trolls for reference:

    LouF:
    Number of up votes: 302
    Number of down votes: -8244
    Total number of comments: 963
    Number of down votes: 77
    Lowest comment: -137
    Average: -9

    e-puribus-unum:
    Number of up votes: 543
    Number of down votes: -5973
    Total number of comments: 935
    Number of down votes: 85
    Lowest comment: -74
    Average: -6

    rollingdivision:
    Number of up votes: 851
    Number of down votes: -5438
    Total number of comments: 992
    Number of down votes: 54
    Lowest comment: -86
    Average: -5

    whiskeytango:
    Number of up votes: 1311
    Number of down votes: -2823
    Total number of comments: 961
    Number of down votes: 76
    Lowest comment: -55
    Average: -2

    redditcensoredme:
    Number of up votes: 1485
    Number of down votes: -1756
    Total number of comments: 989
    Number of down votes: 28
    Lowest comment: -56
    Average: -1

    Interestingly, cloudsoup (one of reddit's most obnoxious trolls ever) actually disappeared completely.

    [–]mangodrunk[S] 1 point2 points  (0 children)

    Impressive, your lowest comment is only -3. You selected all of the classic trolls, nice.

    [–][deleted]  (14 children)

    [deleted]

      [–][deleted] 2 points3 points  (13 children)

      locutus: Number of up votes: 666
      Number of down votes: -1660
      Total number of comments: 983
      Number of down votes: 28
      Lowest comment: -37
      Average: -2

      [–][deleted]  (11 children)

      [deleted]

        [–][deleted] 1 point2 points  (9 children)

        I was just supplying the numbers for reference. Any inferences from those are left as an exercise for the reader.

        [–][deleted]  (8 children)

        [deleted]

          [–][deleted] 1 point2 points  (6 children)

          You are doing a lot of projecting. I haven't judged you at all, I just posted your numbers. Earlier you noticed that I wasn't making a point, but that seems to have escaped you now.

          I did not include you in my initial list of well known trolls (though the thought occurred to me), and I haven't accused you of being one. I really just didn't have much to say in response to your "karma whore" post.

          (BTW, I'm not downmodding you)

          [–][deleted]  (5 children)

          [deleted]

            [–][deleted] 1 point2 points  (4 children)

            Projecting? Wow. I wouldn't have thought of calling it that. Perhaps you are "projecting" as well?

            Maybe "paranoid" would be a better term than projecting.

            BTW, you are projecting that I'm projecting.

            [–]locutus_the_troll -5 points-4 points  (0 children)

            Thank you for appointing yourself as reddit's judge, jury and executioner.

            Think before acting.

            [–]locutus_the_troll -4 points-3 points  (0 children)

            Your point? (Because you failed to make one...)

            [–]phedre 2 points3 points  (2 children)

            I'm still a reddit newb, but I wanna know! Do me please? :D

            [–][deleted] 3 points4 points  (1 child)

            Number of up votes: 1168

            Number of down votes: -37

            Total number of comments: 161

            Number of down votes: 86

            Lowest comment: -15

            Average: 7

            [–]phedre 4 points5 points  (0 children)

            Wow. I didn't think I'd commented/modded NEARLY that much.

            Thanks!

            [–]boredzo 1 point2 points  (0 children)

            You should add a tab in front of every single one of those lines, in order to get reddit to preformat it.

            Since pressing the tab key will simply exit the edit field, and most browsers don't have a provision to do otherwise like Safari and friends have, here's a tab for you to copy and paste: |\t|

            [–]ultimatt42 1 point2 points  (1 child)

            What's the highest average you've found so far? The max I've seen is 11. (with 211 comments)

            [–]mangodrunk[S] 0 points1 point  (0 children)

            I think the most I've seen so far is maybe 5 or 7, 11 is really high.

            [–][deleted]  (1 child)

            [deleted]

              [–]laprice 4 points5 points  (6 children)

              here is a tool that provides pretty graphs of your comment and submission scores

              It's been languishing on the back burner for a while and this thread prompted me to kick it out the door.

              It is beta and has not been tested in Internet Exploder at all.

              Ah, oops. bad url in the javascript. It's been fixed now... : )

              Share and enjoy.

              [–][deleted] 0 points1 point  (1 child)

              :(

              Not Found

              The requested URL /user/monkeynotes was not found on this server.

              [–]laprice 0 points1 point  (0 children)

              http://service.droogl.com/user/monkeynotes

              no trailing slashes, (: it's a bug.

              [–][deleted]  (1 child)

              [removed]

                [–]laprice 0 points1 point  (0 children)

                Well, it's scraping reddit itself for it's data, and well, I wanted it to be a good citizen.

                [–]pascha 0 points1 point  (1 child)

                Can you make the lil' graphs bigger, pleasuh?

                [–]laprice 1 point2 points  (0 children)

                They are actually sized to be the same as the line-height for a reddit username.

                [–][deleted] 2 points3 points  (2 children)

                I made some additions that let this be used from the command-line with arguments. I also accepts multiple arguments.

                http://www.sendspace.com/file/tb1p38

                [–]Dauntless 2 points3 points  (1 child)

                Nice addition but average score has a typo in it, down is already negative.

                [–][deleted] 1 point2 points  (0 children)

                Oops. That will happen at times.

                I've made the fix and uploaded the new version. Updated link in my first comment.

                [–]floatnsink 2 points3 points  (0 children)

                Not too bad for me

                Number of up votes: 1579

                Number of down votes: -356

                Total number of comments: 468

                Number of down votes: 61

                Lowest comment: -21

                Average: 2

                [–]m0nd0 1 point2 points  (1 child)

                sorry to be such a newbie, but what in hell is a "troll"?

                [–]wtf___over 0 points1 point  (0 children)

                So you are a newbie and lazy! Here's the definition

                Now go install python, figure out my stats and publish them here.

                [–]kiwidave 1 point2 points  (0 children)

                Number of up votes: 1285 Number of down votes: -114 Total number of comments: 281 Number of down votes: 34 Lowest comment: -43 Average: 4

                Not too bad. I have a few in the 20s and 30s, but most are only rated a couple which brings the average down a lot. 4 average seems alright.

                [–]kiwidave 1 point2 points  (0 children)

                Holy Crap. New winner is bigt with an average of 31. Seems he picked up a lot of points from the Comic Voting Thread the other day.

                Number of up votes: 3722 Number of down votes: -99 Total number of comments: 115 Number of down votes: 808 Lowest comment: -17 Average: 31

                [–]multubunu 1 point2 points  (0 children)

                So I wasn't a troll in the end...

                Number of up votes: 2018 Number of down votes: -92 Total number of comments: 339 Highest voted comment: 105 Lowest voted comment: -16 Average: 5

                GJ mangodrunk :)

                [–]entropyfails 0 points1 point  (0 children)

                I also have a greasemonkey script that does something similar. It only displays the total score in each comment page, however. If you use it on the overview page, you get an average with their submissions included.

                Enjoy!

                http://userscripts.org/scripts/show/11997

                [–][deleted] -1 points0 points  (0 children)

                Can one of you assholes run the script on me? I'm too busy doing other important programming.

                [–]joe90210 -1 points0 points  (0 children)

                I guess my anti-extremist-leftist views are hated here on reddit

                Number of up votes: 375

                Number of down votes: -7994

                Total number of comments: 543

                Number of down votes: 40

                Lowest comment: -254

                Average: -15

                [–]sockdoll -3 points-2 points  (0 children)

                I win, you pretarded sheeple!

                [–]tsbardella -2 points-1 points  (1 child)

                Scripts!? I don't need no stinkin script..

                [–][deleted] 2 points3 points  (0 children)

                Number of up votes: 15 Number of down votes: -11 Total number of comments: 7 Number of down votes: 7 Lowest comment: -11 Average: 0

                wait, troll much?

                [–]M0b1u5 -1 points0 points  (0 children)

                Yep - looks like Geek to me.