package Ġai . plat on . pulsar . examples Ċ Ċ import Ġai . plat on . pulsar . Pul sar Session Ċ import Ġai . plat on . pulsar . context . Pul sar Contexts Ċ Ċ class ĠManual ( val Ġsession : ĠP ul sar Session Ġ= ĠP ul sar Contexts . create Session ()) Ġ{ ĊĠĠĠ Ġval Ġurl Ġ= Ġ" https :// list . jd . com / list . html ? cat = 6 5 2 , 1 2 3 4 5 , 1 2 3 4 9 " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġ[ url ] Ġif Ġit 's Ġnot Ġin Ġthe Ġdatabase Ġor Ġit 's Ġexpired ĊĠĠĠĠ Ġ* Ġexpire Ġtime : Ġ 1 Ġday ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġload () Ġ= Ġsession . load ( url , Ġ"- expires Ġ 1 d ") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġ[ url ] Ġif Ġit 's Ġnot Ġin Ġthe Ġdatabase Ġor Ġit 's Ġexpired , Ġand Ġthen ĊĠĠĠĠ Ġ* Ġload Ġout Ġpages Ġspecified Ġby Ġ- out Link Ġor Ġthey Ġare Ġexpired ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġportal Ġpage Ġexpire Ġtime : Ġ 1 Ġday ĊĠĠĠĠ Ġ* Ġout Ġpage Ġexpire Ġtime : Ġ 7 Ġdays ĊĠĠĠĠ Ġ* Ġcss Ġquery Ġfor Ġout Ġlinks Ġin Ġportal Ġpage : Ġa [ href ~ = item ] ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġload Out Pages () Ġ= Ġsession . load Out Pages ( url , Ġ"- expires Ġ 1 d Ġ- item Expires Ġ 7 d Ġ- out Link Ġa [ href ~ = item ]") ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad Ġ[ url ] Ġif Ġit 's Ġnot Ġin Ġthe Ġdatabase Ġor Ġit 's Ġexpired , Ġand Ġthen ĊĠĠĠĠ Ġ* Ġsc rape Ġthe Ġfields Ġin Ġthe Ġpage , Ġall Ġfields Ġare Ġrestricted Ġin Ġa Ġpage Ġsection Ġspecified Ġby Ġrestrict Css , ĊĠĠĠĠ Ġ* Ġeach Ġfield Ġis Ġspecified Ġby Ġa Ġcss Ġselector ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġexpire Ġtime : Ġ 1 Ġday ĊĠĠĠĠ Ġ* Ġrestrict Ġcss Ġselector : Ġli [ data - sku ] ĊĠĠĠĠ Ġ* Ġcss Ġselectors Ġfor Ġfields : Ġ. p - name Ġem , Ġ. p - price ĊĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġfun Ġsc rape () Ġ= Ġsession . scrape ( url , Ġ"- expires Ġ 1 d ", Ġ" li [ data - sku ]", ĠlistOf (". p - name Ġem ", Ġ". p - price ")) ĊĊĠĠĠ Ġfun Ġsc rape 2 () Ġ= Ġsession . scrape ( url , Ġ"- i Ġ 1 d ", Ġ" li [ data - sku ]", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" name " Ġto Ġ". p - name Ġem ", Ġ" price " Ġto Ġ". p - price ")) ĊĊĠĠĠ Ġfun Ġsc rape Out Pages (): ĠList < Map < String , ĠString ? >> Ġ= Ġsession . scrape Out Pages ( url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"- expires Ġ 1 d Ġ- item Expires Ġ 7 d Ġ- out Link Ġa [ href ~ = item ]", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ". product - intro ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf (". sku - name ", Ġ". p - price ")) ĊĊĠĠĠ Ġfun Ġsc rape Out Pages 2 (): ĠList < Map < String , ĠString ? >> Ġ= Ġsession . scrape Out Pages ( url , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"- i Ġ 1 d Ġ- ii Ġ 7 d Ġ- ol Ġa [ href ~ = item ]", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ". product - intro ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of (" name " Ġto Ġ". sku - name ", Ġ" price " Ġto Ġ". p - price ")) ĊĊĠĠĠ Ġfun Ġrun All () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" Load :") ĊĠĠĠĠĠĠĠ Ġload () ĊĠĠĠĠĠĠĠ Ġprintln (" Load Ġout Ġpages :") ĊĠĠĠĠĠĠĠ Ġload Out Pages () ĊĊĠĠĠĠĠĠĠ Ġprintln (" Sc rape :") ĊĠĠĠĠĠĠĠ Ġprintln ( scrape (). join ToString ("\ n ") Ġ{ Ġit [" . p - price "] Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġit [" . p - name Ġem "] Ġ}) ĊĠĠĠĠĠĠĠ Ġprintln (" Sc rape Ġ- Ġ 2 :") ĊĠĠĠĠĠĠĠ Ġprintln ( scrape 2 (). join ToString ("\ n ") Ġ{ Ġit [" price "] Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġit [" name "] Ġ}) ĊĊĠĠĠĠĠĠĠ Ġprintln (" Sc rape Ġout Ġpages :") ĊĠĠĠĠĠĠĠ Ġprintln ( scrape Out Pages (). join ToString ("\ n ") Ġ{ Ġit [" . p - price "] Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġit [" . sku - name "] Ġ}) ĊĠĠĠĠĠĠĠ Ġprintln (" Sc rape Ġout Ġpages Ġ- Ġ 2 :") ĊĠĠĠĠĠĠĠ Ġprintln ( scrape Out Pages 2 (). join ToString ("\ n ") Ġ{ Ġit [" price "] Ġ+ Ġ" Ġ| Ġ" Ġ+ Ġit [" name "] Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsession . flush () ĊĠĠĠĠĠĠĠ Ġsession . context . close () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ ĠManual (). scrape Out Pages () Ċ } Ċ