学习Jsoup(二)

来源:互联网 发布:手机充值卡 非网络 编辑:程序博客网 时间:2024/05/22 04:27

今天的问题:

一、构建数据表,装入文档中文名称和地址

 

 我设计了一个库,id 自增量;name varchar 255;adress varchar 255;

 

二、将网上的文档名称和地址装入数据表

 

insert into doc_adress(name,adress) value ('"+name+"','"+url+"')

 

 

 

三、对地址进行修饰,比如加入前缀

concat方法

该方法的作用是进行字符串的连接,将两个字符串连接以后形成一个新的字符串。例如:

                   String s = "abc";

                   String s1 = "def";

                   String s2 = s.concat(s1);

则连接以后生成的新字符串s2的值是"abcdef",而字符串s和s1的值不发生改变。如果需要连接多个字符串,可以使用如下方法:

                   String s = "abc";

                   String s1 = "def";

                   String s2 = "1234";

         String s3 = s.concat(s1).concat(s2);

则生成的新字符串s3的值为"abcdef1234"

其实在实际使用时,语法上提供了一种更简单的形式,就是使用"+"进行字符串的连接。例如:

         String s ="abc" +"1234";

则字符串s的值是"abc1234",这样书写更加简单直观。

而且使用"+"进行连接,不仅可以连接字符串,也可以连接其他类型。但是要求进行连接时至少有一个参与连接的内容是字符串类型。而且"+"匹配的顺序是从左向右,如果两边连接的内容都是基本数字类型则按照加法运算,如果参与连接的内容有一个是字符串才按照字符串进行连接。例如:

         int a = 10;

         String s = "123" + a + 5;

则连接以后字符串s的值是"123105",计算的过程为首先连接字符串"123"和变量a的值,生成字符串"12310",然后使用该字符串再和数字5进行连接生成最终的结果。

而如下代码:

         int a = 10;

         String s = a + 5 +"123";

则连接以后字符串s的值是"15123",计算的过程为首先计算a和数字5,由于都是数字型则进行加法运算或者数字值15,然后再使用数字值15和字符串"123"进行连接获得最终的结果。

而下面的连接代码是错误的:

         int a = 12;

         String s = a + 5 +'s';

因为参与连接的没有一个字符串,则计算出来的结果是数字值,在赋值时无法将一个数字值赋值给字符串s。

 

参考:http://www.cnblogs.com/simle/archive/2011/09/26/2191990.html

 

四、如何遍历含有“下一页”的网页,并读出里面的地址和名称

 

遇到一个难题,如何判断一个网页中有“下一页”这个文本标签。为解决这个问题搞了2天。

找了一位兄弟的代码来研究

 public static String getNextPage(String str,int currnum) throws MalformedURLException{
  if(str==""){
   return "";
  }
  String url="";
  Document doc = Jsoup.parse(str);
  Element div = doc.select("div .page").first();

   Elements links = div.select("a[href]");
   for (Element link : links) {
    if(link.text().trim().indexOf("15")!=-1){
     //只采集到当出现了15这个页码的时候就直接跳出
     return "";
    }
    if(link.text().trim().indexOf("下一页")!=-1){
     //说明取到了下一页
     url=parseRealURL("http://news.zol.com.cn",link.attr("href"));
     return url;
    }
   }
  return "";
 }

 

找到一个,用contain函数。具体方法是,读取html流文件,用contain函数查“下一页”。

 

 

 

 

 

原创粉丝点击