Jsoup爬取数据(奇宠网)

  |   0 评论   |   339 浏览

     之前写过两篇关于Jsoup爬取数据的博客(①Jsoup解析HTML页面数据(又扒到1万+的数据) ② Android之Jsoup解析Html抓包其他网站数据

    ,但是还是有人看不懂,再次写一个案例,这次注释的非常详细;

    先看要抓取的数据图片:

     ZS2`@OG)V~NVGVB3XYM]`]M.png;

    下面直接是代码了,代码中注释很详细,相信大家应该能看得懂

    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    /**
     * @author 郑明亮
     * @Time:2016年11月8日 下午9:04:23
     * @version 1.0
     */
    public class CollectPets {
    	public static void main(String[] args) {
    		try {
    			Document html = Jsoup.connect("http://www.qichongwang.com/")
    								 .timeout(1000000).get();//timeout里面的值我写的大,是怕出现链接超时
    			// 所有注释对应着网页查看(检查元素)
    			Elements div_content = html.select(".tabCont");// 首先拿到类名为tabCont的div里的所有数据
    
    			Elements uls = div_content.select("ul");// 然后拿到div中所有的ul标签,由页面可以看到前三个ul标签分别对应着“①狗狗推荐”“②猫猫推荐”“③小宠推荐”
    
    			Element dog = uls.get(0);// ①狗狗推荐
    			Element cat = uls.get(1);// ②猫猫推荐
    			Element otherPets = uls.get(2);// ③小宠推荐
    
    			Elements dog_as = dog.select("a");// 获得狗狗推荐的详情链接
    			Elements dog_imgs = dog.select("img");// 获得狗狗推荐的图片<img>标签
    			
    			Elements cat_as = cat.select("a");// 获得猫咪推荐的详情链接
    			Elements cat_imgs = cat.select("img");// 获得猫咪推荐的图片<img>标签
    			
    			Elements otherPets_as = otherPets.select("a");// 获得小宠推荐的详情链接
    			Elements otherPets_imgs = otherPets.select("img");// 获得小宠推荐的图片<img>标签
    			for (int i = 0; i < dog_as.size(); i++) {
    				String dog_detail_url = dog_as.attr("href");// 拿到<a>标签中href的值
    				String dog_img = dog_imgs.get(i)
    						.attr("src", dog_imgs.get(i).attr("abs:src"))// ①将<img>标签中的src的相对路径转换为绝对路径
    						.attr("src");// ②然后拿到src的值
    				
    				String cat_detail_url = cat_as.attr("href");// 拿到<a>标签中href的值
    				String cat_img = cat_imgs.get(i)
    						.attr("src", cat_imgs.get(i).attr("abs:src"))// ①将<img>标签中的src的相对路径转换为绝对路径
    						.attr("src");// ②然后拿到src的值
    				
    				String otherPets_detail_url = otherPets_as.attr("href");// 拿到<a>标签中href的值
    				String otherPets_img = otherPets_imgs.get(i)
    						.attr("src", otherPets_imgs.get(i).attr("abs:src"))// ①将<img>标签中的src的相对路径转换为绝对路径
    						.attr("src");// ②然后拿到src的值
    				
    				System.out.println("狗狗推荐的图片地址:" + dog_img);
    				System.out.println("狗狗推荐的详情地址:" + dog_detail_url);
    				
    				System.out.println("猫咪推荐的图片地址:" + cat_img);
    				System.out.println("猫咪推荐的详情地址:" + cat_detail_url);
    				
    				System.out.println("小宠推荐的图片地址:" + otherPets_img);
    				System.out.println("小宠推荐的详情地址:" + otherPets_detail_url);
    			}
    
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    
    	}
    
    }
    

     

    输出结果:

    b3tFXa_!!1830641203.jpg

     

    寻门而入,破门而出

    评论

    发表评论

    validate