• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

    cockroach: 又一个 java 爬虫

    原作者: [db:作者] 来自: 网络 收藏 邀请

    开源软件名称:

    cockroach

    开源软件地址:

    https://gitee.com/zhangyingwei/cockroach

    开源软件介绍:

    cockroach 爬虫:又一个 java 爬虫实现

    License

    重构了cockroach2

    简介

    cockroach[小强] 当时不知道为啥选了这么个名字,又长又难记,导致编码的过程中因为单词的拼写问题耽误了好长时间。

    这个项目算是我的又一个坑吧,算起来挖的坑多了去了,多一个不多少一个不少。

    一个小巧、灵活、健壮的爬虫框架,暂且叫做框架吧。

    简单到什么程度呢,几句话就可以创建一个爬虫。

    依赖部分

    <dependency>  <groupId>com.github.zhangyingwei</groupId>  <artifactId>cockroach-core</artifactId>  <version>1.0.6-Beta</version></dependency><!-- https://mvnrepository.com/artifact/com.github.zhangyingwei/cockroach-annotation --><dependency>    <groupId>com.github.zhangyingwei</groupId>    <artifactId>cockroach-annotation</artifactId>    <version>1.0.6-Beta</version></dependency>

    代码部分:

    @EnableAutoConfigurationpublic class CockroachApplicationTest {    public static void main(String[] args) throws Exception {        TaskQueue queue = TaskQueue.of();        queue.push(new Task("http://blog.zhangyingwei.com"));        CockroachApplication.run(CockroachApplicationTest.class,queue);    }}

    没错,就是这么简单。这个爬虫就是爬取 http://blog.zhangyingwei.com 这个页面的内容并将结果打印出来。在爬虫结果处理这个问题上,程序中默认使用 PringStore 这个类将所有结果打印出来。

    scala & kotlin

    作为目前使用的 jvm 系语言几大巨头,scala 与 kotlin 这里基本上对跟 java 的互调做的很好,但是这里还是给几个 demo。

    scala

    /**  * Created by zhangyw on 2017/12/25.  */class TTTStore extends IStore{    override def store(taskResponse: TaskResponse): Unit = {        println("ttt store")    }}object TTTStore{}
    /**  * Created by zhangyw on 2017/12/25.  */@EnableAutoConfiguration@ThreadConfig(num = 1)@Store(classOf[TTTStore])object MainApplication {    def main(args: Array[String]): Unit = {        println("hello scala spider")        val queue = TaskQueue.of()        queue.push(new Task("http://blog.zhangyingwei.com"))        CockroachApplication.run(MainApplication.getClass(),queue)    }}

    kotlin

    class TTTStore :IStore{    override fun store(response: TaskResponse) {        print("ttt store")    }}
    /** * Created by zhangyw on 2017/12/25. */@EnableAutoConfiguration@ThreadConfig(num = 1)@Store(TTTStore::class)object MainApplication {    @JvmStatic    fun main(args: Array<String>) {        print("hello kotlin spider")        val queue = TaskQueue.of()        queue.push(Task("http://blog.zhangyingwei.com"))        CockroachApplication.run(MainApplication::class.java, queue)    }}

    联系方式

    Lisence

    Lisenced under Apache 2.0 lisence


    鲜花

    握手

    雷人

    路过

    鸡蛋
    该文章已有0人参与评论

    请发表评论

    全部评论

    专题导读
    热门推荐
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap