tujidelv hace 3 años
padre
commit
c78bf83510

+ 4 - 2
src/main/java/top/lvzhiqiang/service/impl/Crawler4JavbusServiceImpl.java

@@ -232,7 +232,7 @@ public class Crawler4JavbusServiceImpl implements Crawler4JavbusService {
                 log.warn("jsoupJavbusProfileSub结束,start={},startFinal={}", start, startFinal);
                 return;
             }
-            if (start > 500000 && continueCount > 10) {
+            if (continueCount > 10) {
                 log.warn("jsoupJavbusProfileSub结束,start={},continueCount={}", start, continueCount);
                 return;
             }
@@ -243,7 +243,9 @@ public class Crawler4JavbusServiceImpl implements Crawler4JavbusService {
                 if (profileDocument.html().contains("您指定的用戶空間不存在")) {
                     log.warn("jsoupJavbusProfileSub您指定的用戶空間不存在,start={}", start);
                     start++;
-                    continueCount++;
+                    if (start > 500000) {
+                        continueCount++;
+                    }
                     continue;
                 }
 

+ 21 - 0
src/test/java/Test4Javbus.java

@@ -71,6 +71,27 @@ public class Test4Javbus {
         String money = document.select("div.u_profile").select("div.cl").get(2).select("ul").get(0)
                 .select("li").last().text().replace("金錢", "").trim();
 
+
+        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 1080));
+        JsoupUtil.trustEveryone();
+        avatarUrl = "https://uc.javbus22.com/uc/data/avatar/000/45/43/36_avatar_small.jpg";
+        Connection.Response response = Jsoup.connect(avatarUrl).method(Connection.Method.GET).header("referer","https://www.javbus.com/").proxy(proxy).ignoreContentType(true).timeout(50 * 1000).execute();
+        BufferedInputStream bufferedInputStream = response.bodyStream();
+        File savePathPrexFile = new File("C:\\Users\\l1024v\\Desktop");
+        //一次最多读取1k
+        byte[] buffer = new byte[1024];
+        //实际读取的长度
+        int readLenghth;
+        //创建的一个写出的缓冲流
+        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(new File(savePathPrexFile, "1.jpg")));
+        //文件逐步写入本地
+        while ((readLenghth = bufferedInputStream.read(buffer, 0, 1024)) != -1) {//先读出来,保存在buffer数组中
+            bufferedOutputStream.write(buffer, 0, readLenghth);//再从buffer中取出来保存到本地
+        }
+        //关闭缓冲流
+        bufferedOutputStream.close();
+        bufferedInputStream.close();
+
         CrawlerJavbusProfile crawlerJavbusProfile = new CrawlerJavbusProfile();
         crawlerJavbusProfile.setUid(Long.valueOf(uid));
         crawlerJavbusProfile.setNickName(nickName);