查看: 675|回复: 8

简单的静态页面java爬虫

[复制链接]
发表于 2020-11-20 15:56 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

  1. import org.jsoup.Connection;
  2. import org.jsoup.Jsoup;
  3. import org.jsoup.nodes.Document;
  4. import org.jsoup.nodes.Element;
  5. import org.jsoup.select.Elements;

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

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

  10. public class pc {

  11.         public static void main(String[] args) throws IOException {
  12.                 // TODO Auto-generated method stub
  13.                 long t1=System.currentTimeMillis();
  14.                 //访问目标网址
  15.                 Connection connection1=Jsoup.connect("https://desk.3gbizhi.com/");
  16.                 //连接成功后获取Document对象
  17.                 Document document1= connection1.get();
  18.                 Element elementDiv=document1.selectFirst("[class=menuw mtm]");
  19.                 Element elementDiv1=elementDiv.selectFirst("[class=cl r]");//搜索class=cl r   标签
  20.                 Element elementUL=elementDiv1.selectFirst("[class=cl]");
  21.                 Elements elementLis=elementUL.select("li");//通过找到的ul 搜索ul里面的所有li标签
  22.                 for(Element elementLi:elementLis) {//遍历所有找到的li
  23.                         Element elementA=elementLi.selectFirst("a");//搜索li里的a标签               
  24.                         String herURL=elementA.attr("href");//把a标签中的 href属性的值获取到
  25.                         //System.out.println(herURL);
  26.                         Element elementADiv=elementA.selectFirst("div");//把a标签里的标签找到
  27.                         String innerName= elementADiv.text();//把标签里的文字获取到
  28.                         
  29.                         
  30.                         
  31.                         System.out.println("创建"+innerName+"文件夹");
  32.                         File file=new File("E://桌面//img//"+innerName);
  33.                         if(!file.exists()){//如果文件夹不存在
  34.                                 file.mkdir();//创建文件夹
  35.                         }
  36.                         
  37.                         Connection connection2=Jsoup.connect(herURL);//访问新的小图连接
  38.                         Document document2=connection2.get();//
  39.                         Element elementDiv2=document2.selectFirst("[class=contlistw mtw]");
  40.                         Element elementUl=elementDiv2.selectFirst("[class=cl]");
  41.                         Elements elementLI=elementUl.select("li");//搜索ul里的li标签
  42.                         for(Element elementLIS:elementLI) {
  43.                                 Element elementDivName=elementLIS.selectFirst("[class=tips]");
  44.                                 String divName= elementDivName.text();
  45.                                 System.out.println("下载"+divName);

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

  53.                                 Element elementAa=elementDiv3.selectFirst("[class=bz_size_show]");//搜索li里的a标签
  54.                                 String xiaURL=elementAa.attr("href");
  55.                                 //System.out.println(xiaURL);
  56.                                  
  57.                                  
  58.                                 URL url=new URL(xiaURL);
  59.                                 InputStream is=url.openStream();
  60.                                 FileOutputStream fos=new FileOutputStream("E://桌面//img//"+innerName+"//"+divName+".jpg");
  61.                                 byte[] b=new byte[2048];
  62.                                 int count=is.read(b);
  63.                                 while(count!=-1) {
  64.                                         fos.write(b,0,count);
  65.                                         fos.flush();
  66.                                         count=is.read(b);        
  67.                              }                        
  68.                                 fos.close();
  69.                                 is.close();        
  70.                         }
  71.                 }
  72.                  
  73.                 long t2=System.currentTimeMillis();
  74.                 double a=(t2-t1)/1000;
  75.                 System.out.println("下载完毕"+"用时:"+a+"s");
  76.         }
  77. }
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-11-20 16:04 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 16:32 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 16:56 | 显示全部楼层

不错不错,,,
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 17:01 | 显示全部楼层
多谢分享多谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 17:43 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 17:49 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-20 22:17 | 显示全部楼层

感谢分享,谢谢提供分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-21 00:50 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部