超简单的网络爬虫,附个自动下载电影种子的demo

这个参考了别人做的demo,原作者忘记了不好意思,在他的基础上做了点东西。恩原理很简单,就是解析你要访问url的页面,所以用到了jsoup这个解析jar包。

下面咱来看看核心代码

        List<LinkTypeData> datas = new ArrayList<LinkTypeData>();
        LinkTypeData data = null;
        try
        {
            /**
             * 解析rule
             */
            String url = rule.getUrl();
            String[] params = rule.getParams();
            String[] values = rule.getValues();
            String resultTagName = rule.getResultTagName();
            int type = rule.getType();
            int requestType = rule.getRequestMoethod();

            Connection conn = Jsoup.connect(url);
            // 设置查询参数

            if (params != null)
            {
                for (int i = 0; i < params.length; i++)
                {
                    conn.data(params[i], values[i]);
                }
            }

            // 这就是核心 Document ,返回页面的html
            Document doc = null;
            switch (requestType)
            {
            case Rule.GET:
                doc = conn.timeout(100000).get();
                break;
            case Rule.POST:
                doc = conn.timeout(100000).post();
                break;
            }

            //处理返回数据
            Elements results = new Elements();
            switch (type)
            {
            case Rule.CLASS:
                results = doc.getElementsByClass(resultTagName);
                break;
            case Rule.ID:
                Element result = doc.getElementById(resultTagName);
                results.add(result);
                break;
            case Rule.SELECTION:
                results = doc.select(resultTagName);
                break;
            default:
                //当resultTagName为空时默认去body标签
                if (TextUtil.isEmpty(resultTagName))
                {
                    results = doc.getElementsByTag("body");
                }
            }

            for (Element result : results)
            {
                Elements links = result.getElementsByTag("a");

                for (Element link : links)
                {
                    //必要的筛选
                    String linkHref = link.attr("href");
                    String linkText = link.text();

                    data = new LinkTypeData();
                    data.setLinkHref(linkHref);
                    data.setLinkText(linkText);

                    datas.add(data);
                }
            }

        } catch (IOException e)
        {
            e.printStackTrace();
        }

就是这么简单,下面附个测试,百度搜索的那个前几天还可以,现在又抽了我懒的解析了,所以附一个百度新闻的搜索测试

    /**
     * 测试百度新闻
     */
    @org.junit.Test  
    public void getDatasByCssQueryUserBaidu()  
    {  
        Rule rule = new Rule("http://news.baidu.com/ns",  
                new String[] { "word" }, new String[] { "魔力宝贝" },  null, -1, Rule.GET);  
        List<LinkTypeData> extracts = ExtractService.extract(rule);  
        printf(extracts);  
    }

哈哈,关键的没给,下电影种子的test,测试没啥,只要爬3层就爬到了,主要这个电影网好啊,哈哈,我一直在这下电影,正规电影哈,有时电影院没下这网上就有了,国内外都有,更新很快,不贴防止被封了,喜欢的可以下来看看。喜欢的朋友可以自己做个定时任务,很简单,就可以不停下载啦。

下载请点这里

备用连接地址
http://download.csdn.net/detail/ilovexiaou/9619824

阅读更多
文章标签: 网络爬虫
个人分类: 随笔
想对作者说点什么? 我来说一句

抓取爬虫软件

2017年03月10日 33.07MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭