#user-agent #python-module #world #date #real #up #fake

fake-useragent

up to date simple useragent faker with real world database, inspired by python module fake-useragent

4 releases

0.1.3 Feb 10, 2019
0.1.2 Feb 10, 2019
0.1.1 Feb 9, 2019
0.1.0 Feb 9, 2019

#371 in Caching

Download history 68/week @ 2023-11-20 214/week @ 2023-11-27 108/week @ 2023-12-04 82/week @ 2023-12-11 58/week @ 2023-12-18 73/week @ 2023-12-25 112/week @ 2024-01-01 57/week @ 2024-01-08 88/week @ 2024-01-15 242/week @ 2024-01-22 382/week @ 2024-01-29 42/week @ 2024-02-05 30/week @ 2024-02-12 80/week @ 2024-02-19 157/week @ 2024-02-26 56/week @ 2024-03-04

330 downloads per month
Used in 2 crates

MIT/Apache

19KB
314 lines

Intro

fake-useragent

Inspired by python module fake-useragent

Data from useragentstring.com (if failed to initialize, please make sure that you can access to this website)

Example

extern crate fake_useragent;

fn main() {
    // quick start
    {
        use fake_useragent::UserAgents;
        
        let user_agents = UserAgents::new();
        println!("{}", user_agents.random());
    }
    
    // from cache
    {
        use fake_useragent::UserAgents;
        
        let user_agents = UserAgents::from_cache("/tmp/user_agents");
        println!("{}", user_agents.random());
    }
    
    // customize
    {
        use fake_useragent::{Browser, UserAgentsBuilder};
        
        let user_agent = UserAgentsBuilder::new()
            .cache(false)                 // specify save to file or not, default true
            .dir("/tmp")                  // specify store path, default dir `./`; default filename `user_agents`
            .thread(20)                   // specify fetch thread, default 20
            .set_browsers(Browsers::new() // specify browsers
                .set_chrome()
                .set_firefox()
                .set_safari())
            .build();
        println!("{}", user_agent.random());        
    }
}

TODO

// selectable
let user_agents = UserAgents::new();
user_agents.chrome();
...

// more type
let user_agent = UserAgentsBuilder::new()
    .set_browsers(...)
    .set_crawlers(...)
    .set_link_checkers(...)
    .set_mobile_browsers(...)
    .build();

Dependencies

~20MB
~451K SLoC