Johnny850807 / Coding-GYM

自己菜鳥階段時在練習Java物件導向、設計模式時,所設計的題庫,此專案庫目前用來讓我的同學/學生 (欠調教的) 們提交程式碼來進行Review,欲參考OOP題目者可直接到Projects區觀看,題目皆(85%)擁有示範解答程式碼。ISSUE放的都是Code Review嘴砲。(物件導向設計學分兩階段→JAVA→設計模式)
24 stars 6 forks source link

Crawling : Dcard #86

Open Johnny850807 opened 7 years ago

Johnny850807 commented 7 years ago

難度:3

撰寫一個類別庫能夠隨意爬取 Dcard 文章資訊

image

將類別庫設計成一種 Builder

DcardCrawler : Builder 模式對於Dcard爬蟲功能的實踐 Post : 抓到的文章,有title以及content兩個屬性分別代表文章的標題以及內文

類似如下的方式可以操作此爬蟲Builder

List<Post> posts= new DcardCrawler()
                  .category("有趣")   //爬取有趣版
                  .skip(10)  //跳過幾篇
                  .take(10)  //拿幾篇
                  .saveOption( Crawl.SAVE_IMAGE | Crawl.SAVE_CONTENT)  //設定相關參數 (是否存圖與是否存文章內容)
                  .path("C:\\result")  // 將爬到的圖片全部存進這個路徑底下
                  .build();

for (Post post : posts)  //印出資訊
        System.out.println(post.getTitle() + " : " + post.getContent());