package com;import java.io.IOException;import java.net.MalformedURLException;import java.util.List;import java.util.Timer;import java.util.TimerTask;import org.apache.regexp.recompile;import org.apache.xalan.templates.ElemApplyImport;import bean.User;import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html.HtmlForm;import com.gargoylesoftware.htmlunit.html.HtmlPage;import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;import com.gargoylesoftware.htmlunit.html.HtmlTextInput;import dao.UserDao;public class TimingSearch { public static TimingSearch instance=new TimingSearch(); public static TimingSearch getInstance() { return instance; } StringBuffer stringWeb=new StringBuffer(""); //第一次截取存放的字符串 StringBuffer opWeb=new StringBuffer(""); //第二次截取存放的字符串,条数 StringBuffer endWeb=new StringBuffer(""); public final User downHtml(int id,String key) throws FailingHttpStatusCodeException, MalformedURLException, IOException { User list=(User) UserDao.getInstance().getUserObject(id); final WebClient webclient=new WebClient(); webclient.setCssEnabled(false); webclient.setJavaScriptEnabled(false); final HtmlPage htmlPage=webclient.getPage("http://www.baidu.com"); final HtmlForm form=htmlPage.getFormByName("f"); final HtmlSubmitInput button=form.getInputByValue("百度一下"); final HtmlTextInput textFileld=form.getInputByName("wd"); //设置关键字 textFileld.setValueAttribute(key+""); final HtmlPage page2=button.click(); stringWeb.append(page2.asText().trim()); int m=stringWeb.length(); int i=stringWeb.lastIndexOf("百度为您找到相关结果约"); if(i==-1){ i=stringWeb.lastIndexOf("百度为您找到相关结果"); if(i==-1){ stringWeb.delete(0, m); return list; } else{// //第一次截取 opWeb.append(stringWeb.substring(i+10, m)); int n=opWeb.length(); stringWeb.delete(0, m); int j=opWeb.indexOf("个"); //第二次截取 endWeb.append(opWeb.substring(0, j)); opWeb.delete(0, n); int end=endWeb.length(); String num=endWeb.toString(); String url=page2.getUrl().toString(); list.setNum(num); list.setUrl(url); UserDao.getInstance().updateUser(num, url, id); endWeb.delete(0, end); return list; } } else { //第一次截取 opWeb.append(stringWeb.substring(i+11, m)); int n=opWeb.length(); stringWeb.delete(0, m); int j=opWeb.indexOf("个"); //第二次截取 endWeb.append(opWeb.substring(0, j)); opWeb.delete(0, n); int end=endWeb.length(); String num=endWeb.toString(); String url=page2.getUrl().toString(); list.setNum(num); list.setUrl(url); UserDao.getInstance().updateUser(num, url, id); endWeb.delete(0, end); return list; } } public static void main(String[] args) { TimingSearch t=getInstance(); try { t.downHtml(2012002, "就是点击开始的空间"); } catch (FailingHttpStatusCodeException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}