package com.yaimer.test;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* @program: SpringBootMyBatisPuls
* @description: 爬取地址
* @author: Guistar_yaimer
* @create: 2020-07-22 16:02
**/
public class dow {
private static String s;
private static Integer pageNum=0;
private static String urlll = "";
public static String getHtml(String urlString) {
try {
StringBuffer html = new StringBuffer();
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStreamReader isr = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(isr);
String temp;
int a=0;
while ((temp = br.readLine()) != null) {
a=a+1;
//System.out.println(a);
html.append(temp).append("\n");
if (a==42){
//System.out.println("============第四十二=============="+temp);
s="";
s=temp;
}
}
br.close();
isr.close();
return html.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
//路径
String[] str={"82964","83282","83612","83880","92008","92993","93759","96957"};
//每一话页数
int[] pageSize ={45,44,45,45,46,44,46,46};
//保存地址
urlll="06_38-45";
for (int i = 0; i
d(str[i],pageSize[i]);
}
System.out.println("全部下载完毕--------");
}
public static void d(String string,int pageSize){
System.out.println("下载开始"+string+"--"+pageSize);
for (int i = 1; i < pageSize+1; i++) {
String src="http://www.hhimm.com/cool"+string+"/"+i+".html?s=5&d=0";
s="";
getHtml(src);
String ss =s.trim();
String sss =ss.substring(ss.indexOf("name="),ss.indexOf("onerror"));
String ssss = sss.substring(6,sss.length()-2);
pageNum+=1;
doww(pageNum,getji(ssss));
//System.out.println(src+"----"+pageNum+"页");
}
System.out.println(string+"下载完毕--over");
}
public static String getji(String s){
String x = s.substring(s.length()-1);
String w="abcdefghijklmnopqrstuvwxyz";
int xi=w.indexOf(x)+1;
String sk = s.substring(s.length()-xi-12,s.length()-xi-1);
s=s.substring(0,s.length()-xi-12);
String k=sk.substring(0,sk.length()-1);
String f=sk.substring(sk.length()-1);
for(int i=0;i
if(s.contains(k.substring(i,i+1))){
s=s.replace(k.substring(i,i+1),String.valueOf(i));
}
}
String[] ss = s.split(f);
s="";
for(int i=0;i
s+=(char) Integer.parseInt(ss[i]);
//s+=String.fromCharCode(ss[i]);
}
return "http://20.94201314.net/dm05/"+s;
}
public static void doww(int num,String url){
String path = "D:/image/"+urlll+"/";
File dir = new File(path);
path += num + ".jpg";
download(url, path);
}
public static void download(String strUrl, String path) {
URL url = null;
try {
url = new URL(strUrl);
} catch (MalformedURLException e2) {
e2.printStackTrace();
return;
}
InputStream is = null;
try {
is = url.openStream();
} catch (IOException e1) {
e1.printStackTrace();
return;
}
OutputStream os = null;
try {
os = new FileOutputStream(path);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {/*buffer数组存放读取的字节,如果因为流位于文件末尾而没有可用的字节,则返回值-1,以整数形式返回实际读取的字节数*/
os.write(buffer, 0, bytesRead);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}