Skip to main content

Imitating an Internet user by mimicking popular web traffic.

Project description

Python >= 3.8

fake_traffic

Imitating an Internet user by mimicking popular web traffic (internet traffic generator).


Install

pip install -U fake_traffic

⚠️ When FakeTraffic runs for the first time, playwright dowloads the chromium browser under the hood, which takes some time.


CLI version

fake_traffic -h

CLI examples:

# user located in Turkey, who speaks Kurdish and is interested in hot stories
fake_traffic -c tr -l ku-tr -ca h
# user located in Brazil, who speaks Portuguese and is interested in sports
fake_traffic -c br -l pt-br -ca s
# save logs into 'fake_traffic.log'
fake_traffic -c ru -l ru-ru -ca s -lf
# define wait times between requests
fake_traffic -c fr -l fr-fr -ca b -min_w 1 -max_w 100 -lf
# use none-headless mode
fake_traffic -c en -l en-us -ca t -nh -lf

Simple usage

from fake_traffic import FakeTraffic

FakeTraffic(country='US', language='en-US").crawl()

Advanced usage

from fake_traffic import FakeTraffic

ft = FakeTraffic(country='US', language='en-US', category='h', min_wait=1, max_wait=5, headless=True)
    """ Imitating an Internet user by mimicking popular web traffic (internet traffic generator).    
    country = country code ISO 3166-1 Alpha-2 code (https://www.iso.org/obp/ui/),
    language = country-language code ISO-639 and ISO-3166 (https://www.fincher.org/Utilities/CountryLanguageList.shtml),
    category = сategory of interest of a user (defaults to 'h'):
               'all' (all), 'b' (business), 'e' (entertainment), 
               'm' (health), 's' (sports), 't' (sci/tech), 'h' (top stories);
    min_wait = minimal delay between requests (defaults to 1),
    max_wait = maximum delay between requests (defaults to 10),
    headless = True/False (defaults to True).
    """
ft.crawl()

Example

Mimic traffic of a user located in Turkey, who speaks Kurdish and is interested in hot stories

Find Turkey country code (ISO 3166-1 Alpha-2 code):

  • country = "TR"

Find Turkey country-language code (ISO-639 and ISO-3166):

  • english "en-TR",
  • kurdish "ku-TR",
  • turkish "tr-TR".

Set the category ('h', because the user in the example is interested in hot stories):

  • category = 'h'

Starting in none-headless mode:

  • headless=False
from fake_traffic import FakeTraffic

ft = FakeTraffic(country="TR", language="ku-TR", category='h', headless=False)
ft.crawl()

P.S. you can select language from other country. For example, such combinations are also correct:

FakeTraffic(country="TR", language="ar-TR").crawl()
FakeTraffic(country="US", language="he-IL").crawl()
FakeTraffic(country="DE", language="hi-IN").crawl()

Other examples

Country Language Function
France French FakeTraffic(country="FR", language="fr-FR")
Germany German FakeTraffic(country="DE", language="de-DE", category='b')
India English FakeTraffic(country="IN", language="en-IN", category='all')
India Hindi FakeTraffic(country="IN", language="hi-IN", max_wait=10)
Russia English FakeTraffic(country="RU", language="en-US", category='b', headless=False)
Russia Russian FakeTraffic(country="RU", language="ru-RU", min_wait=0.5, max_wait=3)
Brazil Portuguese FakeTraffic(country="BR", language="pt-BR", category='s', threads=2, max_wait=60)
United Kingdom English FakeTraffic(country="GB", language="en-GB")
United States English FakeTraffic(country="US", language="en-US", min_wait=60, max_wait=300)
United States Hebrew Israel FakeTraffic(country="US", language="he-IL")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fake_traffic-2.0.0.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

fake_traffic-2.0.0-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page