The anti🚫-derailment🚃 & thread🧵 hijacking🔫 thread🧵 ⁉

Unfortunatly no. Some are not posible. Some are unlikely given the size of this community. And the “New user of the month” one is lost to me forever :stuck_out_tongue: (I tried and failed).

I like the badges but like I am not going to force them for the sake of them, like no fake accounts to get the invite 5. There just a cool achievement.

image

image

2 Likes

Oh, god. If we were mean we could totally tell leumas95 about a fake badge, that can only be aquired via an incredibly complex and random process.

What a snipe hunt we could have!

5 Likes

I’m sure he wouldn’t be the only victim…

2 Likes

No…

I would never fall for that…

Not like a wrote a scraper to search the site for badges 1 user at a time… After a single mention by @amal that there are extra badges… I would never do that…

4 Likes

Theorhetically IF you ever did… How far through would you be the users in % or #

Hypothetically I would not want to hit the server with too much load given I do not know what it is running on or if it has rate limiting… so it would be going at maybe 10 seconds a user too ensure that I am not being too much of an asshole …

So 275 out of 1910 users
With a total time of so 5.3hrs…

3 Likes

giphy (26)
200 (3)

2 Likes

Admittedly at this point if I was running the job I would be concerned…

As I would have orderd the user list by likes received. And at 320ish I would be in the low single digits of likes… and that might mean that they are unlikely to meet this criteria:

But this is all

1 Like

Like buying a spark maybe? Having it installed before the Apex is released?

1 Like

looks at own badges :face_with_monocle:
Looks like I’m not one of the ones with a special badge, so you can count me out of your crawl. I am the only one with the “Devotee” badge, though. I defy you to join me!

3 Likes

I looked at my guess of Amals top 5 peeps, You were on that list… Infact my first choice

4 Likes

I feel like the search criteria might not work for custom badges. It’s hard to know without looking.

Or they can’t be seen from the badge page in the profile… but then what is the point if no one can ever see said badge? :thinking:

IF I HAD THEORETICALLY MADE A SCRAPER

3 Likes

I guess you could just sit and ponder for 5 hrs or so, and see what you think…

I did to :sweat_smile:

I think I went through about 20.

@NiamhAstra could you not just compile a list of all users with there badges and then group depending on how many users have said badge. The you only have a couple of small groups.

1 Like

Theoretically?

2 Likes

How would you compile said list without going to the profile of all users? :thinking:

1 Like

Use a scraper, I’m not magic lol

of course

2 Likes

Theoretically… I would be creating 2 files:

  • One a json file with a list of badges per user
  • One a list of User: badge if the badge is not the ones that we can see in the all badges page

I would hypothetically be looking for the content of a h3 tag inside a div with a class of badge-contents

In case someone wanted to see the theoretical code used to get all the badges

they should expand this

Disclamer ugly mashed together code, use at own risk and do not judge me too much on how low quality it is:

from requests_html import HTMLSession
from time import sleep

users=[long list so removed]
badges=['Admired', 'Aficionado', 'Anniversary', 'Appreciated', 'Autobiographer', 'Basic', 'Campaigner', 'Certified', 'Champion', 'Crazy in Love', 'Devotee', 'Editor', 'Empathetic', 'Enthusiast', 'Famous Link', 'First Emoji', 'First Flag', 'First Like', 'First Link', 'First Mention', 'First Onebox', 'First Quote', 'First Reply By Email', 'First Share', 'Gives Back', 'Good Reply', 'Good Share', 'Good Topic', 'Great Reply', 'Great Share', 'Great Topic', 'Higher Love', 'Hot Link', 'Leader', 'Licensed', 'Member', 'New User of the Month', 'Nice Reply', 'Nice Share', 'Nice Topic', 'Out of Love', 'Popular Link', 'Promoter', 'Read Guidelines', 'Reader', 'Regular', 'Respected', 'Thank You', 'Welcome', 'Wiki Editor']

count = 1
for user in users:
    print(f'{count}: {user}')
    count = count + 1
	for i in range(3):
		try:
			session = HTMLSession()
			r = session.get(f'https://forum.dangerousthings.com/u/{user}/badges')
			r.html.render(sleep=1, wait=5)
			user_badges = r.html.xpath('//div[@class="badge-contents"]//h3//text()')
			with open("user_badges.txt", "a") as f:
				f.write(f'"{user}": {user_badges},\n')
			with open("hidden_badge.txt", "a") as f:
				for badge in user_badges:
					if badge not in badges:
						print(f'FUCKING FOUND ONE: {badge} {user}')
						f.write(f'{badge} {user}\n')
			break
		except Exception as e:
			print(f'FUCK... An error... During try {i+1}/3')
			sleep(5)
2 Likes