```fun main() { val allNavLinks = skrape { ...
# skrape-it
c
Copy code
fun main() {
    val allNavLinks = skrape {
        url = "<http://www.laughfactory.com/jokes>"
        extract {
            htmlDocument {
                ".jokes-nav a" {
                    withAttributeKey = "href"
                    findAll {
                        associate { it.text to it.attribute("href") }
                    }

                }
            }
        }
    }
    println(allNavLinks)
}
prints:
{Popular Jokes=<http://www.laughfactory.com/jokes/popular-jokes>, Latest Jokes=<http://www.laughfactory.com/jokes/latest-jokes>, Joke of the Day=<http://www.laughfactory.com/jokes/joke-of-the-day>, Animal Jokes=<http://www.laughfactory.com/jokes/animal-jokes>, Blonde Jokes=<http://www.laughfactory.com/jokes/blonde-jokes>, Boycott These Jokes=<http://www.laughfactory.com/jokes/boycott-these-jokes>, Clean Jokes=<http://www.laughfactory.com/jokes/clean-jokes>, Family Jokes=<http://www.laughfactory.com/jokes/family-jokes>, Food Jokes=<http://www.laughfactory.com/jokes/food-jokes>, Holiday Jokes=<http://www.laughfactory.com/jokes/holiday-jokes>, How to be Insulting=<http://www.laughfactory.com/jokes/how-to-be-insulting>, Insult Jokes=<http://www.laughfactory.com/jokes/insult-jokes>, Miscellaneous Jokes=<http://www.laughfactory.com/jokes/miscellaneous-jokes>, National Jokes=<http://www.laughfactory.com/jokes/national-jokes>, Office Jokes=<http://www.laughfactory.com/jokes/office-jokes>, Political Jokes=<http://www.laughfactory.com/jokes/political-jokes>, Pop Culture Jokes=<http://www.laughfactory.com/jokes/pop-culture-jokes>, Racist Jokes=<http://www.laughfactory.com/jokes/racist-jokes>, Relationship Jokes=<http://www.laughfactory.com/jokes/relationship-jokes>, Religious Jokes=<http://www.laughfactory.com/jokes/religious-jokes>, School Jokes=<http://www.laughfactory.com/jokes/school-jokes>, Science Jokes=<http://www.laughfactory.com/jokes/science-jokes>, Sex Jokes=<http://www.laughfactory.com/jokes/sex-jokes>, Sexist Jokes=<http://www.laughfactory.com/jokes/sexist-jokes>, Sports Jokes=<http://www.laughfactory.com/jokes/sports-jokes>, Technology Jokes=<http://www.laughfactory.com/jokes/technology-jokes>, Word Play Jokes=<http://www.laughfactory.com/jokes/word-play-jokes>, Yo Momma Jokes=<http://www.laughfactory.com/jokes/yo-momma-jokes>}
what it’s doing: • defining the http request (skrape methods scope) • do the call (extract methods scope) • deserialize the html body that was received from extracts response • define a selector that matches all elements that are matching the following css-query selector --> “.jokes-nav a[href]” • get all elements that matches the selector as list (findAll method) • extract the elements text and href values to a map (using kotlins build-in associate function) 🙂 hope this helps