package Ġai . plat on . pulsar . examples . sites . amazon Ċ Ċ import Ġai . plat on . pulsar . common . Resource Loader Ċ import Ġai . plat on . pulsar . common . options . Load Options Ċ import Ġai . plat on . pulsar . context . Pul sar Context Ċ import Ġai . plat on . pulsar . context . with Context Ċ import Ġai . plat on . pulsar . dom . Documents Ċ import Ġai . plat on . pulsar . examples . common . Crawler Ċ Ċ class ĠAmazon Category Crawler ( context : ĠP ul sar Context ): ĠC rawler ( context ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġurl Ġ= Ġ" https :// www . amazon . com /" ĊĠĠĠ Ġprivate Ġval Ġsite Directory Ġ= Ġ" https :// www . amazon . com / gp / site - directory ? ref _= nav _ em _ T 1 _ 0 _ 2 _ 2 _ 3 5 __ full store " ĊĠĠĠ Ġprivate Ġval Ġload Options Ġ= Ġi . options ("- i Ġ 1 s ") ĊĠĠĠ Ġprivate Ġvar Ġj Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġcollect From Site Directory () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= Ġi . load ( site Directory , Ġload Options ) ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġi . parse ( page ) ĊĠĠĠĠĠĠĠ Ġdocument . absolute Links () ĊĠĠĠĠĠĠĠ Ġvar Ġj Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġdocument . body . select (". fs d Dept Box "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgroup Ġ= Ġit . select First (" h 2 ") ?. text () ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( group ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . select (" a "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġit . text () ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhref Ġ= Ġit . attr (" href ") ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( String . format ("% - 5 d Ġ| Ġ% 2 0 s Ġ| Ġ% s ", Ġ++ j , Ġtext , Ġhref )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcollect From Menu () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhtml Ġ= ĠResource Loader . readString (" sites / amazon / amazon - menu . html ") ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= ĠDocuments . parse ( html , Ġ" https :// www . amazon . com /") ĊĠĠĠĠĠĠĠ Ġdocument . absolute Links () ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġdocument . body . select (" ul Ġli "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġit . select First (" div ") ?. text () ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhref Ġ= Ġit . select First (" a ") ?. attr (" href ") ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( String . format ("% - 5 d Ġ| Ġ% 2 0 s Ġ| Ġ% s ", Ġ++ i , Ġtitle , Ġhref )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ= Ġwith Context Ġ{ ĠAmazon Category Crawler ( it ). collect From Site Directory () Ġ} Ċ