Scraping Real Usernames for Dummies - Extremely Easy Method

MatthewGraham

BANNED
Joined
Oct 6, 2015
Messages
1,755
Reaction score
2,746
Randomly generated usernames tend to look terrible and out of place.

If everything is FirstLastYear, accounts look unnatural. Tools that can do things like combine random nouns and adjectives are better, but still seem out of place especially if you're using a ton of different accounts.

Easy solution: Scrape usernames that people actually use and make slight modifications

This is a great method to get a wide variety of usernames, with a good mix of niche-related names, that look very natural.

Here's a super easy way to do this.

1. Get a content scraper.
This is a super easy-to-use browser extension for Chrome that I have used for miscellaneous things for years:
https://chrome.google.com/webstore/detail/scraper/mbigbapnjcgaffohmbkdlecaccepngjd?utm_source=chrome-app-launcher-info-dialog

2. Find a forum that you want to scrape usernames from.
Can be basically anything - Reddit, Quora, Yahoo Answers, etc. Can be a good idea to scrape from a different forum from where you want to actually use the accounts.

If you want to get niche-related usernames, reddit is a good option. I'll do an example here. Consider a situation where you want to generate usernames that you could use when shilling for athletic equipment. Go to a forum related to athletics, such as:
https://www.reddit.com/r/Basketball/new/

3. Scrape the Usernames
To scrape from reddit using the scraper extension linked to:
a. Click "Scrape Similar" in the tool
b. Enter this into the selector field (XPath): //*[contains(@Class, 'author')]

Don't know anything about XPath? This command lets you find an HTML element by CSS class using XPath. The username fields on reddit uses the css class "author". You can adjust the name of the class as needed if you want to use this somewhere else.

If you're scraping form somewhere else, using something that isn't XPath, or are using a different tool you'll of course need to adjust the selector/input.

4. Example Result of Scraping
After following the above steps on the "New" page of reddit's Basketball forum, these are the names that were scraped:

rsrsrsrs
townie_immigrant
JoeAllan
theReluctantHipster
Seppecx
alexin9th
bluexdd
UltimateZ906
onegeeheeone
nachofromsweden
hoophacking
anklerollguard
ShizzleStorm
OverEmotionalCavsFan
CritThom
onegeeheeone
BhiefBeef
Dragon---
Lakersnation40
kwazaer113
wadsworthandrea
museirish
mcgoverntowanda
pornkingdas
GeorgeThomasClark
J0ak3s
blueberrybadguy
Yeti_Boi
DatDudeJB19

Reddit has 25 names per page. This query actually ended up getting us 29 since it scraped the moderator's usernames from the sidebar too.

You can see that since these were scraped from a Basketball subreddit/forum, a good mix of sports/basketball related names are mixed in while also having other names from more casual users. It is a natural mix of niche-related usernames.

Note: If you have the NeverEndingReddit extension installed, you can load many pages on the same page so that you can scrape a lot of usernames with one run of the extension. Or load a thread with a lot of comments if you want to scrape a lot at a time

Note 2: Scraping from the "new" section can be better than scraping from the top posts because this will get you a wider variety of names. The people who have top posts may be well known users, so using names of the newer posters may make using variations of their names be more natural. Ideally you will use the names on a different forum anyway.


5. Adjust the Usernames (if using on the same forum that you've scraped from)

If you're going to use the names on a different website entirely, you could skip this step. For example if you scrape names from Reddit to then use on Twitter, you may not need to change them.

If you want to reuse elsewhere on the same site, then you'll want to modify the names slightly. There are a few ways to do this:

a. Automated spin (mediocre)
You can use an Excel formula or similar to easily do things like add underscores in random positions in the username, change the letter "E" to "3", append a random number at the end, etc.

If you want to take this approach, here's an Excel formula that you can try:
=left(replace(A1,RANDBETWEEN(1,len(A1)), 0, "_"),20)
* Inserts an underscore at a random location
* If username generated is over 20 characters, crop out any chars after the 20th one (max length of a reddit username is 20 characters)

Adjust as needed. You could easily write a better spin with a Python script or similar. Here's the output of the Excel formula above:

rsrsrs_rs
townie_immi_grant
_JoeAllan
theReluctantHipst_er
Sep_pecx
alexin_9th
bluexd_d
U_ltimateZ906
onege_eheeone
nac_hofromsweden
_hoophacking
ank_lerollguard
Shiz_zleStorm
OverEmotional_CavsFan
Cr_itThom
onege_eheeone
Bh_iefBeef
Dragon_---
Lakersn_ation40
_kwazaer113
w_adsworthandrea
museir_ish
_mcgoverntowanda
_pornkingdas
GeorgeThomas_Clark
J0a_k3s
blueberrybad_guy
Y_eti_Boi
DatDud_eJB19

b. Manual Spin (better method)

Make minor changes in a way that is logical. For example, if the username has a number consider changing it to another number, add an underscore or dash in a logical place, change a word around like "Lakers" to "Blazers" or "Beef" to "Veal", etc.

Example result (took maybe two minutes to do):

rsrsrsrsrs
town_immigrants
JoeAllanCarter
MyReluctantHipster
Seppecxx
alexin12th
blue-xdd
UltimateZ096
onegoohooone
nachofromdenmark
hoopsmacking
anklerollpointguard
ShizzleStorms
OverEmotionalEaglesFan
CriticalThom
onegeeheeone4
BhiefVeal
Dragons---
Lakersnationrules40
kwazaer123
wadsworthandrew
musicalirish
mcgoverntowanda94
pornkingdanny
George_Thomas_Clark
J0ack3s
blueberryvillain
Yeti_Bois
ThatDudeJB19

It takes maybe five seconds to spin each name and you'll get better results; you could spin 720 in an hour. Or get a VA or employee to do it for you.

6. Create the Accounts
You can do this either through an automated tool if you have access to one or pay a VA with decent proxies to make the accounts for you.

7. Collect Money
Great. Now you have a bunch of accounts with usernames that are widely varied and natural. Use them however you please -- do forum marketing, sell accounts, or whatever else you can imagine.

Conclusion
Hope this method is useful to some of you out there. I've been using this method as one of various ways to get forum accounts with real-looking usernames for a while now and have always had good results. It's an easy method to do as well, so you can easily teach the whole process to a VA or employee to save time.

Any questions on this method, feel free to ask! If you have good methods to generate realistic usernames in bulk for forum marketing, please post in the comments. I'd be glad to hear them.
 
Last edited:
Like the idea, I think you could also pull this off with Scrapebox's Custom data grabber. The gold nugget in this whole method is the ability to scrape niche relevant usernames. That's just a good idea. Next time I need some usernames I'll probably give this a shot. Also, good job providing tips that make it free for newbs.
 
Like the idea, I think you could also pull this off with Scrapebox's Custom data grabber. The gold nugget in this whole method is the ability to scrape niche relevant usernames. That's just a good idea. Next time I need some usernames I'll probably give this a shot. Also, good job providing tips that make it free for newbs.

Yes, I would imagine that Scrapebox would work well for this. There are definitely ways to do this with increased efficiency, such as writing a script where all you have to do is insert the page you want to scrape and it returns the UNs, ideally with features like automatically removing duplicates and so on. Definitely something to look into on a larger scale.

And the niche-relevance is definitely key. It's great for niche forum marketing. And the names make sense too -- not just "BasketballFan9" and so on.

Hope you get good results with the method!
 
Also, correction to the XPath for scraping usernames on Reddit:

BHW's comment formatting capitalized a letter the the XPath selector to:
//*[contains(@Class, 'author')]

It should be this (lowercase c in class). Remove the space between the @ and 'class'.

//*[contains(@ class, 'author')]
 
Also, ended up revisiting step 5a (automatic spin) to save time. Put together a script to spin usernames in a more natural way.

Script attached as a .txt file. It's written in JavaScript. File uploads of .js type are disallowed, so uploaded as a .txt. It's the same code either way. Easiest way to run is also copy-paste this the code into Google Sheets under Tools -> Script Editor (presumably Excel can also run this) to create a function that can easily be used in a spreadsheet:
=robospin_username(Username_to_Spin, Maximum_Length_For_Returned_Username)
=robospin_username("JoeAllan", 20)


Here's a test output on the names scraped earlier in this thread. Not quite as good as a manual spin but also way faster and look basically fine.

rzrsrsrs
townle_immigrant
JoeAllen
theRelactantHipster
Seppeccks
alexin9tw
bIuexdd
UltimateZ9o6
onegeeweeone
nachufromsweden
hoophecking
ankIerollguard
ShizzliStorm
Over3motionalCavsFan
CritGhom
odegeeheeone
Bhi3fBeef
Drag0n---
Lakerznation40
klazaer113
wadswostthandrea
museistish
mcgoverngowanda
postnkingdas
GeorgeThomasKlark
J0ek3s
blueberrybadfuy
Yegi_Boi
DatDudeJB10
 

Attachments

Also, ended up revisiting step 5a (automatic spin) to save time. Put together a script to spin usernames in a more natural way.

Script attached as a .txt file. It's written in JavaScript. File uploads of .js type are disallowed, so uploaded as a .txt. It's the same code either way. Easiest way to run is also copy-paste this the code into Google Sheets under Tools -> Script Editor (presumably Excel can also run this) to create a function that can easily be used in a spreadsheet:
=robospin_username(Username_to_Spin, Maximum_Length_For_Returned_Username)
=robospin_username("JoeAllan", 20)


Here's a test output on the names scraped earlier in this thread. Not quite as good as a manual spin but also way faster and look basically fine.

rzrsrsrs
townle_immigrant
JoeAllen
theRelactantHipster
Seppeccks
alexin9tw
bIuexdd
UltimateZ9o6
onegeeweeone
nachufromsweden
hoophecking
ankIerollguard
ShizzliStorm
Over3motionalCavsFan
CritGhom
odegeeheeone
Bhi3fBeef
Drag0n---
Lakerznation40
klazaer113
wadswostthandrea
museistish
mcgoverngowanda
postnkingdas
GeorgeThomasKlark
J0ek3s
blueberrybadfuy
Yegi_Boi
DatDudeJB10
You earned a thanks for that. Writing code for everyone is pretty cool of you to do.
 
You earned a thanks for that. Writing code for everyone is pretty cool of you to do.

It's saved a good amount of time for my employees, hope it's useful to others too.
 
A better method is to pay someone to go to spinxo.com and write down the usernames, spin the page, and do till you have however many you need.
They have a superb database of usernames it must be hundreds of thousands.
 
Back
Top