public boolean collectCooks() {
        //. = class
        //# = id

        String baseURL = "http://allrecipes.com/cook/";
        int len = baseURL.length();
        Document doc = null;
        System.out.println("Starting user crawl");
        int userCounter = 0;
        StringBuffer userIDs = new StringBuffer();
        for(int page = 1; page <= 8585; page++){
            try {
                doc = Jsoup.connect(cooksURL+page).userAgent(USER_AGENTS.get((int)Math.random()*USER_AGENTS.size())).timeout(100000).get();
            } catch (IOException e) {
                logger.error(e.getMessage());
                e.printStackTrace();
            }
            for (int i = 1; i<=39; i=i+2){
                String id;
                if(i <10)
                    id = "0" + i;
                else
                    id = String.valueOf(i);
                String userIdentifier = "a#ctl00_CenterColumnPlaceHolder_CookPageNav_ProfileList_rptCookProfileList_ctl"+id+"_Cook_lnkUserName";
                try {
//                    content = doc.select(nameDiv).first().text();
                    Element link = doc.select(userIdentifier).first();
                    String url = link.attr("href");
                    String userID = url.substring(len, url.lastIndexOf('/'));
                    userIDs.append(userID+"\n");
                    userCounter++;
                } catch (NullPointerException e) {
                    logger.error(e.getMessage());
                    System.out.println("ERROR: wrong identifier");
                }
            }
            if(userCounter > 100){
                writeUsers(userIDs);
                userIDs.setLength(0);
                userCounter = 0;
                System.out.print("\rCrawling page: " + page);
                System.out.flush();
            }
            if(page == 8585 && userIDs.length() != 0){
                writeUsers(userIDs);
                System.out.println("Final users crawled");
            }
        }

        return true;
    }