#user-agent

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

#46 in #user-agent

Download history 30/week @ 2024-07-19 46/week @ 2024-07-26 40/week @ 2024-08-02 33/week @ 2024-08-09 48/week @ 2024-08-16 33/week @ 2024-08-23 118/week @ 2024-08-30 61/week @ 2024-09-06 42/week @ 2024-09-13 103/week @ 2024-09-20 117/week @ 2024-09-27 59/week @ 2024-10-04 32/week @ 2024-10-11 26/week @ 2024-10-18 25/week @ 2024-10-25 120/week @ 2024-11-01

213 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

~23MB
~471K SLoC