摘要:介紹在博客爬蟲爬取中國高校排名前名并寫入中,我們利用來寫爬蟲,將中的大學排名表格爬取出來,并存入到中。本次分享將用的來實現相同的功能,并將爬取到的數據存入到數據庫中。
介紹
??在博客:Python爬蟲——爬取中國高校排名前100名并寫入MySQL中,我們利用Python來寫爬蟲,將http://gaokao.xdf.cn/201702/1... 中的大學排名表格爬取出來,并存入到MySQL中。
??本次分享將用Java的Jsoup API來實現相同的功能,并將爬取到的數據存入到MongoDB數據庫中。
??我們將在Eclipse中寫程序,因此,需要下載以下jar包:
bson-3.6.3.jar
jsoup-1.10.3.jar
mongodb-driver-3.6.3.jar
mongodb-driver-core-3.6.3.jar
新建webScraper項目和jsoupScraper包,并將以上jar包加入到項目路徑中,如下圖:
程序??在jsoupScraper包下新建JsoupScaper.java文件,其完整代碼如下:
package jsoupScraper; /* 本爬蟲利用Jsoup爬取中國大學排血排行榜前100名 * 并將爬取后的結果存入到MongoDB數據庫中 */ import java.util.List; import java.util.ArrayList; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import java.net.*; import java.io.*; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; public class JsoupScraper { public static void main(String[] args) { String url = "http://gaokao.xdf.cn/201702/10612921.html"; insertIntoMongoDB(url); } // insertIntoMongoDB()函數:將爬取的表格數據插入到MongoDB中 public static void insertIntoMongoDB(String url) { try{ // 連接到本地的 mongodb 服務 MongoClient mongoClient = new MongoClient("localhost", 27017); // 連接到university數據庫,不過該數據庫不存在,則創建university數據庫 MongoDatabase mongoDatabase = mongoClient.getDatabase("university"); System.out.println("Connect to database successfully"); // 創建集合,該集合事先不存在 mongoDatabase.createCollection("rank"); System.out.println("集合創建成功"); // 將爬取的表格數據作為文檔分條插入到新建的集合中 MongoCollection運行collection = mongoDatabase.getCollection("rank"); System.out.println("集合 test 選擇成功"); List content = getContent(url); for(int i=2; i documents = new ArrayList (); documents.add(document); collection.insertMany(documents); System.out.println("第"+i+"條文檔插入成功"); } // 關閉mongodb連接 mongoClient.close(); System.out.println("MongoDB連接已關閉"); } catch(Exception e){ e.printStackTrace(); } } // getContent()函數,返回爬取的表格數據 public static List getContent(String url){ List content = new ArrayList (); // 利用URL解析網址 URL urlObj = null; try{ urlObj = new URL(url); } catch(MalformedURLException e){ System.out.println("The url was malformed!"); return content; } // URL連接 URLConnection urlCon = null; try{ // 打開URL連接 urlCon = urlObj.openConnection(); // 將HTML內容解析成UTF-8格式 Document doc = Jsoup.parse(urlCon.getInputStream(), "utf-8", url); // 刷選需要的網頁內容 Elements elems = doc.getElementsByTag("tbody").first().children(); // 提取每個字段的文字部分 content = elems.eachText(); return content; } catch(IOException e){ System.out.println("There was an error connecting to the URL"); return content; } } }
??運行上述程序,結果如下:
??前往MongoDB數據庫中查看,如下圖:
結束語??該爬蟲其實并不復雜,實現的原理也很簡單,我們已經用能Java和Python來實現了。希望以后能寫一些關于Java爬蟲的文章,歡迎大家交流~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19243.html
摘要:介紹在博客爬蟲爬取中國高校排名前名并寫入中,我們利用來寫爬蟲,將中的大學排名表格爬取出來,并存入到中。本次分享將用的來實現相同的功能,并將爬取到的數據存入到數據庫中。 介紹 ??在博客:Python爬蟲——爬取中國高校排名前100名并寫入MySQL中,我們利用Python來寫爬蟲,將http://gaokao.xdf.cn/201702/1... 中的大學排名表格爬取出來,并存入到My...
摘要:很多人學習爬蟲的第一驅動力就是爬取各大網站的妹子圖片,比如比較有名的。最后我們只需要運行程序,即可執行爬取,程序運行命名如下完整代碼我已上傳到微信公眾號后臺,在癡海公眾號后臺回復即可獲取。本文首發于公眾號癡海,后臺回復即可獲取最新編程資源。 showImg(https://segmentfault.com/img/remote/1460000016780800); 閱讀文本大概需要 1...
摘要:二效果預覽獲取到數據之后做了下分析,最終做成了柱狀圖,鼠標移動可以看出具體的商品數量。在元之間的商品最多,越往后越少,看來大多數的產品都是定位為低端市場。最后就是銷量前的店鋪和鏈接了。 ...
摘要:現在我們用一個實戰項目,來進一步掌握框架的使用。此次的項目爬取的目標是去哪兒網,我要將所有攻略的作者標題出發日期人均費用攻略正文等保存下來,存儲到中。代表當前的爬取速率。 showImg(https://segmentfault.com/img/remote/1460000015563534); 閱讀文本大概需要 13 分鐘。 通過之前的文章介紹,你現在應該對 pyspider 有了一...
摘要:楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,。本文來源知乎作者路人甲鏈接楚江數據提供網站數據采集和爬蟲軟件定制開發服務,服務范圍涵蓋社交網絡電子商務分類信息學術研究等。 楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,http://www.chujiangdata.com。 第一:Python爬蟲學習系列教程(來源于某博主:htt...
閱讀 2739·2023-04-25 14:21
閱讀 1174·2021-11-23 09:51
閱讀 4012·2021-09-22 15:43
閱讀 610·2019-08-30 15:55
閱讀 1559·2019-08-29 11:28
閱讀 2445·2019-08-26 11:44
閱讀 1682·2019-08-23 18:15
閱讀 2880·2019-08-23 16:42