Roger。 发表于 2020-11-20 15:56

简单的静态页面java爬虫

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

import java.io.*;
import java.net.URL;

public class pc {

      public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                long t1=System.currentTimeMillis();
                //访问目标网址
                Connection connection1=Jsoup.connect("https://desk.3gbizhi.com/");
                //连接成功后获取Document对象
                Document document1= connection1.get();
                Element elementDiv=document1.selectFirst("");
                Element elementDiv1=elementDiv.selectFirst("");//搜索class=cl r   标签
                Element elementUL=elementDiv1.selectFirst("");
                Elements elementLis=elementUL.select("li");//通过找到的ul 搜索ul里面的所有li标签
                for(Element elementLi:elementLis) {//遍历所有找到的li
                        Element elementA=elementLi.selectFirst("a");//搜索li里的a标签               
                        String herURL=elementA.attr("href");//把a标签中的 href属性的值获取到
                        //System.out.println(herURL);
                        Element elementADiv=elementA.selectFirst("div");//把a标签里的标签找到
                        String innerName= elementADiv.text();//把标签里的文字获取到
                        
                        
                        
                        System.out.println("创建"+innerName+"文件夹");
                        File file=new File("E://桌面//img//"+innerName);
                        if(!file.exists()){//如果文件夹不存在
                              file.mkdir();//创建文件夹
                        }
                        
                        Connection connection2=Jsoup.connect(herURL);//访问新的小图连接
                        Document document2=connection2.get();//
                        Element elementDiv2=document2.selectFirst("");
                        Element elementUl=elementDiv2.selectFirst("");
                        Elements elementLI=elementUl.select("li");//搜索ul里的li标签
                        for(Element elementLIS:elementLI) {
                              Element elementDivName=elementLIS.selectFirst("");
                              String divName= elementDivName.text();
                              System.out.println("下载"+divName);

                              Element elementAA=elementLIS.selectFirst("a");//搜索li里的a标签      
                              String herURLA=elementAA.attr("href");//把a标签中的 href属性的值获取到
                              //System.out.println(herURLA);
                                 
                              Connection connection3=Jsoup.connect(herURLA);//访问图片下载的连接   showcontw mtw
                              Document document3=connection3.get();      
                              Element elementDiv3=document3.selectFirst("");

                              Element elementAa=elementDiv3.selectFirst("");//搜索li里的a标签
                              String xiaURL=elementAa.attr("href");
                              //System.out.println(xiaURL);
                                 
                                 
                              URL url=new URL(xiaURL);
                              InputStream is=url.openStream();
                              FileOutputStream fos=new FileOutputStream("E://桌面//img//"+innerName+"//"+divName+".jpg");
                              byte[] b=new byte;
                              int count=is.read(b);
                              while(count!=-1) {
                                        fos.write(b,0,count);
                                        fos.flush();
                                        count=is.read(b);      
                           }                        
                              fos.close();
                              is.close();      
                        }
                }
               
                long t2=System.currentTimeMillis();
                double a=(t2-t1)/1000;
                System.out.println("下载完毕"+"用时:"+a+"s");
      }
}

liyang 发表于 2020-11-20 16:04

谢谢分享

FjTHHZ 发表于 2020-11-20 16:32


感谢楼主的分享

zhang873856755 发表于 2020-11-20 16:56


不错不错,,,

刘小板 发表于 2020-11-20 17:01

多谢分享多谢分享

miranda11 发表于 2020-11-20 17:43

谢谢@Thanks!

橙子苹果 发表于 2020-11-20 17:49

谢谢分享!

qianxiao 发表于 2020-11-20 22:17


感谢分享,谢谢提供分享

senaen 发表于 2020-11-21 00:50

6666666666
页: [1]
查看完整版本: 简单的静态页面java爬虫