摘要:介紹在博客爬蟲爬取中國高校排名前名并寫入中,我們利用來寫爬蟲,將中的大學(xué)排名表格爬取出來,并存入到中。本次分享將用的來實現(xiàn)相同的功能,并將爬取到的數(shù)據(jù)存入到數(shù)據(jù)庫中。
介紹
??在博客:Python爬蟲——爬取中國高校排名前100名并寫入MySQL中,我們利用Python來寫爬蟲,將http://gaokao.xdf.cn/201702/1... 中的大學(xué)排名表格爬取出來,并存入到MySQL中。
??本次分享將用Java的Jsoup API來實現(xiàn)相同的功能,并將爬取到的數(shù)據(jù)存入到MongoDB數(shù)據(jù)庫中。
??我們將在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爬取中國大學(xué)排血排行榜前100名 * 并將爬取后的結(jié)果存入到MongoDB數(shù)據(jù)庫中 */ 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()函數(shù):將爬取的表格數(shù)據(jù)插入到MongoDB中 public static void insertIntoMongoDB(String url) { try{ // 連接到本地的 mongodb 服務(wù) MongoClient mongoClient = new MongoClient("localhost", 27017); // 連接到university數(shù)據(jù)庫,不過該數(shù)據(jù)庫不存在,則創(chuàng)建university數(shù)據(jù)庫 MongoDatabase mongoDatabase = mongoClient.getDatabase("university"); System.out.println("Connect to database successfully"); // 創(chuàng)建集合,該集合事先不存在 mongoDatabase.createCollection("rank"); System.out.println("集合創(chuàng)建成功"); // 將爬取的表格數(shù)據(jù)作為文檔分條插入到新建的集合中 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+"條文檔插入成功"); } // 關(guān)閉mongodb連接 mongoClient.close(); System.out.println("MongoDB連接已關(guān)閉"); } catch(Exception e){ e.printStackTrace(); } } // getContent()函數(shù),返回爬取的表格數(shù)據(jù) public static List getContent(String url){ List content = new ArrayList (); // 利用URL解析網(wǎng)址 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內(nèi)容解析成UTF-8格式 Document doc = Jsoup.parse(urlCon.getInputStream(), "utf-8", url); // 刷選需要的網(wǎng)頁內(nèi)容 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; } } }
??運行上述程序,結(jié)果如下:
??前往MongoDB數(shù)據(jù)庫中查看,如下圖:
結(jié)束語??該爬蟲其實并不復(fù)雜,實現(xiàn)的原理也很簡單,我們已經(jīng)用能Java和Python來實現(xiàn)了。希望以后能寫一些關(guān)于Java爬蟲的文章,歡迎大家交流~~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19243.html
摘要:介紹在博客爬蟲爬取中國高校排名前名并寫入中,我們利用來寫爬蟲,將中的大學(xué)排名表格爬取出來,并存入到中。本次分享將用的來實現(xiàn)相同的功能,并將爬取到的數(shù)據(jù)存入到數(shù)據(jù)庫中。 介紹 ??在博客:Python爬蟲——爬取中國高校排名前100名并寫入MySQL中,我們利用Python來寫爬蟲,將http://gaokao.xdf.cn/201702/1... 中的大學(xué)排名表格爬取出來,并存入到My...
摘要:很多人學(xué)習(xí)爬蟲的第一驅(qū)動力就是爬取各大網(wǎng)站的妹子圖片,比如比較有名的。最后我們只需要運行程序,即可執(zhí)行爬取,程序運行命名如下完整代碼我已上傳到微信公眾號后臺,在癡海公眾號后臺回復(fù)即可獲取。本文首發(fā)于公眾號癡海,后臺回復(fù)即可獲取最新編程資源。 showImg(https://segmentfault.com/img/remote/1460000016780800); 閱讀文本大概需要 1...
摘要:二效果預(yù)覽獲取到數(shù)據(jù)之后做了下分析,最終做成了柱狀圖,鼠標(biāo)移動可以看出具體的商品數(shù)量。在元之間的商品最多,越往后越少,看來大多數(shù)的產(chǎn)品都是定位為低端市場。最后就是銷量前的店鋪和鏈接了。 ...
摘要:現(xiàn)在我們用一個實戰(zhàn)項目,來進一步掌握框架的使用。此次的項目爬取的目標(biāo)是去哪兒網(wǎng),我要將所有攻略的作者標(biāo)題出發(fā)日期人均費用攻略正文等保存下來,存儲到中。代表當(dāng)前的爬取速率。 showImg(https://segmentfault.com/img/remote/1460000015563534); 閱讀文本大概需要 13 分鐘。 通過之前的文章介紹,你現(xiàn)在應(yīng)該對 pyspider 有了一...
摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...
閱讀 2764·2023-04-25 14:21
閱讀 1201·2021-11-23 09:51
閱讀 4083·2021-09-22 15:43
閱讀 630·2019-08-30 15:55
閱讀 1588·2019-08-29 11:28
閱讀 2467·2019-08-26 11:44
閱讀 1702·2019-08-23 18:15
閱讀 2898·2019-08-23 16:42