<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • java網絡爬蟲可以爬什么數據(免費分享java網絡爬蟲實戰技巧)


    文章目錄

    • 前言
      • 1.引入依賴:
      • 2.代碼實戰:
      • 3.代理說明:
    • 總結

    前言

    現在一提到爬蟲都是python,類庫比較豐富,如果不會java的同學,去學習python爬蟲比較靠譜,但是那是不是代表java就不能爬蟲呢?肯定不是的,事實上一些場景下,java爬蟲使用起來更方便,更好用。

    1.引入依賴:

    java當中爬蟲使用的是jsoup的類庫,jsoup提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據,讓你請求網頁后可以對網頁進行dom操作達到爬蟲的目的。

     <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.10.3</version>
            </dependency>
    

    2.代碼實戰:

    案例一:
    爬蟲股票的分析結果:

     StockShow stockShow = new StockShow();
            String doUrl = String.format("url", stockCode);
            Document doc = null;
            try {
                doc = Jsoup.connect(doUrl).get();
                Elements stockName = doc.select("div[class=stockname]");
                Elements stockTotal = doc.select("div[class=stocktotal]");
                Elements shortStr = doc.select("li[class=short]");
                Elements midStr = doc.select("li[class=mid]");
                Elements longStr = doc.select("li[class=long]");
                Elements stockType = doc.select("div[class=value_bar]").select("span[class=cur]");
                stockShow.setStockName(stockName.get(0).text());
                stockShow.setStockTotal(stockTotal.get(0).text().split(":")[1]);
                stockShow.setShortStr(shortStr.get(0).text().split(":")[1]);
                stockShow.setMidStr(midStr.get(0).text().split(":")[1]);
                stockShow.setLongStr(longStr.get(0).text().split(":")[1]);
                stockShow.setStockType(stockType.get(0).text());
            } catch (IOException e) {
                log.error("findStockAnalysisByStockCode,{}",e.getMessage());
            }
    

    案例2:
    抓取學校的信息:

     Campus campus = new Campus();
            String doUrl = String.format(url, campusId);
            Document doc = null;
            if (StringUtils.isEmpty(arg.getIp())){
                arg.setIp("transfer.moguproxy.com");
                arg.setPort(9001);
            }
            try {
                HttpsUtil.trustEveryone();
                Random r = new Random();
                int random = r.nextInt(48);
                Connection conn = Jsoup.connect(doUrl).proxy(arg.getIp(), arg.getPort());//.timeout(10000)
                conn .header("Proxy-Authorization", "Basic "+"V1Vxb2syU29MbUJWTVY2RjpMTHN5TDM0c3ByQlFRM3hw").userAgent(ua[random]).timeout(30000);
                doc = conn.get();
                Elements names = doc.select("a[class=btn btn-xs btn-primary]");
                Elements type = doc.select("a[class=campus_type_fix_b link_now_active]");
    //            doc.select("ol[class=breadcrumb]").select("li").get(4).text()
                Elements campusName = doc.select("ol[class=breadcrumb]").select("li");
                Elements addressAndTel = doc.select("div[class=page-header]").select("p");
    

    3.代理說明:

    案例一里面并沒有使用代理ip,可以直接抓取。但是通常情況下,我們抓取的網站會設置反爬蟲,封ip等,所以我們要設置代理ip,上線的案例2中使用的是蘑菇代理的代理隧道進行的代理設置,用起來還不錯,如果確實需要可以進行購買。

    總結

    當然我上面寫的2個案例只是舉例子,其實dom的操作還有很多種的方法,大家如果想要進行爬蟲,dom的基本操作肯定是需要的,一些基本的html知識是需要的。如果你想跟我有更多的交流,關注我的公眾號:Java時間屋 進行交流。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费