JAVA爬虫入门

最基本的爬虫就是httpclient和jsoup两个包 一个是负责下载资源一个是负责解析数据(当然jsoup也能够下载资源 只是这样效率不高)

非常简单

就是jsoup包获取到dom对象然后对dom对象操作就行了
依赖

    
        org.apache.httpcomponents
        httpclient
        4.5.2
    
    
    
        org.jsoup
        jsoup
        1.11.3
    

//这个包是提供一些utils
    
        org.apache.commons
        commons-lang3
        3.7
    

代码

    @Test
    public void testUrl() throws Exception {
//        解析url地址  第一个参数是访问的url  第二个参数是访问时候的超时时间
//        解析url地址   第一个参数是url第二个参数是访问的超时时间
        Document doc = Jsoup.parse(new URL("https://www.baidu.com"), 10000);   //得到dom对象

//        使用标签选择器  获取title标签中的内容
        String content = doc.getElementsByTag("title").first().text();
        System.out.println(content);
    }



    @Test
    void testData() throws Exception {
        Document doc = Jsoup.parse(new File("G:\\Windows ui\\windows-10-UI-master\\index.html"), "utf8");
        Element element = doc.getElementById("file-explorer");
        System.out.println(" 获取到的元素id:" + element.id());   //获取元素id
        System.out.println(" 获取到的元素class:" + element.className());  //获取class
        System.out.println("根据属性名获取属性值:" + element.attr("class"));
        System.out.println("获取元素所有属性:" + element.attributes());

    }




    @Test
    void tetsSelect() throws Exception {
        Document doc = Jsoup.parse(new File("G:\\Windows ui\\windows-10-UI-master\\index.html"), "utf8");
        Elements elements = doc.select("span");   //根据标签查找
        Element element = doc.select("#file-explorer").first();   //根据id查找
        Element element2 = doc.select(".file-explorer").first();   //根据class查找
        Element element3 = doc.select("[file]").first();   //根据属性查找
        Element element4 = doc.select("[class=file]").first();   //根据属性和属性值查找
        System.out.println(element.text());
        for (Element element1 : elements) {
            System.out.println(element1.text());
        }


    }


    @Test
//    组合使用选择器
    void SelectZUhe() throws IOException {
        Document doc = Jsoup.parse(new File("G:\\Windows ui\\windows-10-UI-master\\index.html"), "utf8");
        Element element = doc.select("div.icons-main").first();   //元素+class的组合   div且class为icons-main这个的
        //查找父元素下面的子元素
//        这个就是查找所有.icons-main下面的所有a标签
        Elements elements = doc.select(".icons-main a");


//        parent  > child    查找某个父元素下的直接子元素
//       比如.city > ul >li 找的是cty第一级子元素的ul  再找ul下面的li
        for (Element element1:elements){
            System.out.println(element.text());
        }
        System.out.println(element.text());


    }

你可能感兴趣的:(JAVA爬虫入门)