4.2.1 基本选择器
  tagname: 搜索tag标签的元素
  ns|tag: 搜索命名空间内tag标签的元素,如fb|name:<fb:name>
  id: 搜索有指定id的元素
  .class: 搜索有指定class的元素
  [attribute]: 搜索有attrribute属性的元素
  [^attri]: 搜索有以attri开头的属性的元素
  [attr=value]: 搜索有指定属性及其属性值的元素
  [attr^=value], [attr$=value], [attr*=value]: 搜索有指定attr属性,且其属性值是以value开头、结尾或包括value的元素,如[href*=/path/]
  [attr~=regex]: 搜索有指定attr属性,且其属性值符合regex正则表达式的元素
  *: 搜索所有元素
  4.2.2 选择器组合
  el#id: 同时指定标签名称和id
  el.class: 同时指定标签名称和class
  el[attr]: 同时指定标签名称和及其中所含属性的名称
  上述3项的任意组合,如a[href].highlight
  ancestor child: 包含,如div.content p,即搜索<div class=”content”>下含有<p>标签的元素
  ancestor > child: 直接包含,如div.content > p,即搜索直属<div class="content">节点下的<p>标签元素;div.content > *,即搜索<div class="content">下的所有元素
  siblingA + siblingB: 直接遍历,如div.head + div,即搜索<div class="head"><div>的元素,其中不再包含子元素
  siblingA ~ siblingX: 遍历,如h1 ~ p,即<h1>下直接或间接有<p>的元素
  el, el, el: 组合多个选择器,搜索满足其中一个选择器的元素
  5、使用范例
  /*
  previousSibling()获取某标签前面的代码
  nextSibling()获取某标签后的代码
  如:
  <form id=form1>
  第一名:Lily  <br/>
  第二名:Tom   <br/>
  第三名:Peter <br/>
  </form>
  */
  Elements items = doc.select("form[id=form1]");
  Elements prevs = items.select("br");
  for(Element p : prevs){
  String prevStr = p.previousSibling().toString().trim());
  }
  /*
  常用的链接抓取
  */
  String itemTag = "div[class=mydiv]";
  String linkTag = "a"
  Elements items = doc.select(itemTag);
  Elements links = items.select(linkTag);
  for(Element l : links){
  String href = l.attr("abs:href");//完整Href
  String absHref = l.attr("href");//相对路径
  String text = l.text();
  String title = l.attr("title");
  }