【重】:
- 对于jsoup中connection的使用(连点——拼凑url——类似于stringbuffer.append)
- connection对象的excute()返回值是一个response响应
【代码】:
1 import java.io.BufferedReader; 2 import java.io.BufferedWriter; 3 import java.io.FileReader; 4 import java.io.FileWriter; 5 import java.io.IOException; 6 import java.io.Writer; 7 import java.nio.BufferUnderflowException; 8 9 import org.jsoup.Connection; 10 import org.jsoup.Connection.Method; 11 import org.jsoup.Connection.Response; 12 import org.jsoup.Jsoup; 13 14 public class JsoupUtils { 15 16 /** 17 * 通过该url获取该网页的源代码 18 * @param url 19 * @return 20 * @throws IOException 21 */ 22 public static String getHtmlSources(String url) throws IOException{ 23 // 1.得到网页连接对象,可连续“.”获得全路径的连接对象,包括各个参数 24 //Connection conn = Jsoup.connect(url); 25 26 // 构造请求:请求头信息 + 传输方式(GET/POST) + 是否忽略错误信息(true/false) 27 Connection conn = Jsoup.connect(url).method(Method.GET).ignoreHttpErrors(true); 28 // 发送请求,执行连接 29 Response response = conn.execute(); 30 // 获得返回信息内容 31 String resultStr = response.body(); 32 // 返回对应字符串内容 33 return resultStr; 34 } 35 36 public static void main(String[] args) { 37 // 目标url 38 String url="http://www.rkpass.cn/"; 39 // 构建字符串拼接 40 StringBuilder sb = new StringBuilder(); 41 try { 42 // 获得网页源代码文本内容 43 sb.append(getHtmlSources(url)); 44 // 写入对象,会自动创建文件 45 BufferedWriter bw = new BufferedWriter(new FileWriter("./files/webSource.txt")); 46 // 将文本内容写入本地文件中 47 bw.append(sb); 48 } catch (IOException e) { 49 System.out.println("写入失败..."); 50 e.printStackTrace(); 51 } 52 } 53 }
【注】:
jsoup、url、connection、Stringbuilder、io、file