JAVA 简单爬虫

来源:互联网 发布:导航仪软件 编辑:程序博客网 时间:2024/06/04 19:25
JAVA 简单爬虫DEMO 
package webSpide.com;import java.security.GeneralSecurityException;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftware.htmlunit.WebClient;import com.gargoylesoftware.htmlunit.html.HtmlPage;public class MyWebSpide {/** * @param args * HtmlUnit  配合 jsoup 完成异步加载的额数据 * @throws GeneralSecurityException  */public static void main(String[] args) throws GeneralSecurityException {try {String url = "http://search.jiayuan.com/v2/index.php";//String url = "https://www.toutiao.com/";WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6);webClient.setJavaScriptEnabled(true);webClient.setCssEnabled(false);webClient.setActiveXNative(false);webClient.setThrowExceptionOnScriptError(false);webClient.setThrowExceptionOnFailingStatusCode(false);webClient.setTimeout(5000);webClient.setUseInsecureSSL(true);            webClient.getCookieManager().setCookiesEnabled(true);  HtmlPage rootPage = webClient.getPage(url);//设置一个运行JavaScript的时间webClient.waitForBackgroundJavaScript(5000);String html = rootPage.asXml();Document document = Jsoup.parse(html);// TODO Auto-generated method stub//String userAgen = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31";//    String url = "http://search.jiayuan.com/v2/index.php";//    Connection conn = Jsoup.connect(url).userAgent(userAgen).timeout(1000);//Document document =  conn.get();//System.out.println(document.html());Elements elements = document.select("div[class=hy_box]");for(int i = 0 ;i < elements.size() ; i++){Element elemtUserInfoOne = elements.get(i).select("p[class=user_info]").first();Element elemtUserInfoTwo = elements.get(i).select("p[class=zhufang]").first();String one = elemtUserInfoOne.text();String two = elemtUserInfoTwo.text();System.out.println(one+" "+two);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}很久以来对爬虫有兴趣,最近从网上下了源码研读了一下爬虫,当然我现在的水平只是菜鸟级别。所写的也只是一个简单的页面。没有太过复杂的东西。
我所理解的爬虫就是分析网页 html 超文本标记语言,从中提取自己想要爬取的信息,当然其中会涉及到一系列的问题,其中最明显的就是有些数据是延迟加载出来的。上面
代码就是使用 HtmlUnit  配合 jsoup 完成异步加载的额数据
HtmlUnit 可伪装成浏览器访问数据,通过设置加载的时候,得到加载后的页面。
HtmlUnit jar 包:
http://pan.baidu.com/s/1eSzojBW 密码 moyb
jsoup jar 包:    http://pan.baidu.com/s/1o8hwVXo   密码 u9kh
 此为我下载的爬虫 demo ,是通过 java 实现。
 https://github.com/wycm/zhihu-crawler