Skip to content

redbugg/rand-useragent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rand-useragent

An up-to-date simple random user-agent with real world database. The collections of user-agent data is pre-downloaded from techblog.willshouse.com.

Installation

$ pip install rand-useragent

Usage

Simple usage example, see below for more examples:

from rand_useragent import randua

# Get a random browser user-agent string
print(randua())

If you want to specify your own browser list, you can do that via the browsers argument (default is: ["chrome", "edge", "firefox", "safari"]).
This example will only return random useragents from Edge and Chrome:

from rand_useragent import randua

# Get a random browser user-agent string
print(randua(browsers=["edge", "chrome"]))

If you want to specify your own operating systems, you can do that via the os argument (default is: ["windows", "mac os x", "linux"]).
In this example you will only get Linux useragents back:

from rand_useragent import randua

# Get a random browser user-agent string
print(randua(os=["linux"]))

If you want to return more popular useragent strings, you can play with the min_percent argument (default is: 0.0, meaning all useragents will match).
In this example you get only useragents that have a minimum usage percentage of 10.0% (or higher):

from rand_useragent import randua

# Get a random browser user-agent string
print(randua(min_percent=10.0))

You can override the fallback string using the fallback parameter, in very rare cases something failed:

from rand_useragent import randua

# If something went wrong
print(
    randua(
        fallback="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    )
)

Development

Since GitHub Actions is unable to reach willshouse.com and has Cloudflare protection. We can run the script below to automatically scrape the user-agent strings from the external data source. The script will copy the JSONlines file to the src/rand_useragent/data directory. Execute:

$ ./scripts/update-data.sh

The data JSON file is part of the Python package, see pyproject.toml. Read more about Data files support.


rand-useragent is a BSD licensed code.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published