今天老K要推薦幾個Github上的熱門Java爬蟲項目。
内容較多,建議收藏,友善以後随時檢視。
1. crawler4j
- url: https://github.com/yasserg/crawler4j
- star: 4.3k
- fork: 1.9k
- watch: 312
crawler4j是一個通過建議接口實作的開源網絡爬蟲,可以幫助你在很短的時間内實作一個多線程的網絡爬蟲。
2. WebCollector
- url: https://github.com/CrawlScript/WebCollector
- star: 2.9k
- fork: 1.5k
- watch: 333
WebCollector無需配置,便于二次開發JAVA爬蟲架構(核心),提供簡化API,實作強大的爬蟲隻需要少量代碼。WebCollector-Hadoop是WebCollector的Hadoop支援分布式爬行的版本。
3. nutch
- url: https://github.com/apache/nutch
- star: 2.5k
- fork: 1.2k
- watch: 240
這是一個由apache提供支援的網絡爬蟲項目,具備高擴充性和适應性的開源項目。
4. Gecco
- url: https://github.com/xtuhcy/gecco
- star: 2.4k
- fork: 888
- watch: 143
Gecco是一款基于java語言的輕量化易用的網絡爬蟲。整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等多個架構,隻需配置一些jquery風格選擇器,可以快速寫出爬蟲。Gecco架構具有優異的可擴充性,架構設計基于開關原則,對擴充開放。
5. Movie_Recommend
- url: https://github.com/LuckyZXL2016/Movie_Recommend
- star: 2.3k
- fork: 996
- watch: 105
這是一個基于spark的電影推薦系統,通過大資料過濾引擎實作了電影推薦功能,包含了爬蟲、網站前後端,管理背景以及推薦系統。
6. Heritrix
- url: https://github.com/internetarchive/heritrix3
- star: 2.3k
- fork: 729
- watch: 183
Heritrix是一個開源可擴充的網絡爬蟲項目。這個項目尊重robots.txt的排除規則,基于禮貌的拜訪政策實作爬蟲。
7. XueQiuSuperSpider
- url: https://github.com/decaywood/XueQiuSuperSpider
- star: 1.9k
- fork: 764
- watch: 161
雪球超級爬蟲是基于雪球網、東方财富和同花順實作的股票資料爬蟲程式。通過它你可以根據個人操作風格重新定義各個股票的篩選方式。本項目高擴充,可以實作任何股票資料的搜集和分析,對于炒股的小夥伴,可以嘗試了解一下。
8. SeimiCrawler
- url: https://github.com/zhegexiaohuozi/SeimiCrawler
- star: 1.9k
- fork: 618
- watch: 173
這是一個簡單、靈活、分布式的爬蟲架構,支援SpringBoot的Java爬蟲架構。通過SeimiCrawler,你隻需要專注于爬蟲的業務邏輯即可,大大提高了開發爬蟲系統的開發效率。
示例代碼如下:
@Crawler(name = "basic")
public class Basic extends BaseSeimiCrawler {
@Override
public String[] startUrls() {
return new String[]{"http://www.cnblogs.com/"};
}
@Override
public void start(Response response) {
JXDocument doc = response.document();
try {
List<Object> urls = doc.sel("//a[@class='titlelnk']/@href");
logger.info("{}", urls.size());
for (Object s:urls){
push(Request.build(s.toString(),Basic::getTitle));
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void getTitle(Response response){
JXDocument doc = response.document();
try {
logger.info("url:{} {}", response.getUrl(), doc.sel("//h1[@class='postTitle']/a/text()|//a[@id='cb_post_title_url']/text()"));
//do something
} catch (Exception e) {
e.printStackTrace();
}
}
}
9. Flesh
- url: https://github.com/Kerr1Gan/Flesh
- star: 396
- fork: 81
- watch: 23
如果你是一位想學習一下 Kotlin 的同學,那麼 Flesh 是一個适合學習、練手、入門的項目。從中可以學到 Java 與 Kotlin 間的互相調用、爬蟲操作。這是個誠意(福利)滿滿的項目,快去下載下傳、加入到這個項目中吧。
上述的項目希望對你有所幫助。
碼字不易,記得也要點贊哦!
我之前還分享過一些Github上熱門項目,有需要的同學可以直接點選下方連結擷取:
推薦閱讀
推薦GitHub上8個有意思的項目 包含Python JS等不同語言 建議收藏
GitHub上11個好玩又有挑戰的前端項目 Star過萬 值得收藏
結束語
我是@老K玩代碼,專注于程式設計開發的經驗總結和項目分享。
#頭條創作挑戰賽#