Skip to content

Randomly generate a valid useragent for faking a browser.

License

Notifications You must be signed in to change notification settings

mhwgoo/fake_user_agent

Repository files navigation

Randomly generate a valid useragent for faking a browser.

Supported browsers are: "chrome", "edge", "firefox", "safari", and "opera" (case insensitive).

As a binary

fakeua                       # randomize a useragent (using cache by default)
fakeua [browser]             # randomize a useragent of a specified browser
fakeua [browser] --debug     # randomize a useragent in debug mode
fakeua [browser] --nocache   # randomize a useragent by fetching the web
fakeua [browser] --cache     # randomize a useragent by using cache other than the default one
fakeua --load   <cache_path> # load up-to-date useragent versions as cache to specified file path
fakeua --remove <cache_path> # remove cache at specified file path
fakeua --version             # print the current version of the program

As a library

# No error handling is needed.
# The following functions return a valid randomized useragent definitely.
# Resort to a fixed useragent in the event of an error when reading cache
# to avoid breaking the caller. In such case, turn on logging debug mode to inspect.
# `CACHE_FILE` defaults to `$HOME/.cache/fakeua/fake_useragent.json`.
# a different cache file is supported, which can be generated by:
# 1. running on terminal: fakeua --load <cache_path>
# 2. calling in script: `await dump(cache_path)`

# For non-async caller:
from fake_user_agent import user_agent
ua = user_agent(browser=None, use_cache=True, cache_path=CACHE_FILE)

# For async caller:
from fake_user_agent import aio_user_agent
ua = await aio_user_agent(browser=None, use_cache=True, cache_path=CACHE_FILE)

Install & Uninstall

pip install fake_user_agent
pip uninstall -r requirements.txt -y
rm -rf $HOME/.cache/fakeua

# within the project
make install
make uninstall
make clean_cache