เนื่องจากข้อกำหนดของโครงการจำเป็นต้องมีข้อมูลแบรนด์ยานพาหนะและข้อมูลระบบยานพาหนะ เมื่อวานนี้ฉันใช้เวลาหนึ่งวันในการศึกษาข้อมูลเว็บไซต์ JSOUP Crawling โครงการเขียนโดยใช้ Maven+Spring+SpringMVC+MyBatis
ที่อยู่คู่มือการพัฒนา JSoup
นี่คือที่อยู่ของเว็บไซต์ที่ต้องรวบรวมข้อมูล https://car.autohome.com.cn/zhaoche/pinpai/
1. เพิ่มการพึ่งพาใน pom.xml ก่อน
เนื่องจากฉันต้องการบันทึกภาพในเครื่องฉันจึงเพิ่มแพ็คเกจ Commons-Net
<!-https://mvnrepository.com/artifact/org.jsoup/jsoup-> <การพึ่งพา> <GroupId> org.jsoup </groupid> https://mvnrepository.com/artifact/commons-net/commons-net-> <cendency> <merdency> <roupId> Commons-net </groupId> <ratifactid> Commons-Net </artifactId> <cersion> 3.3 </เวอร์ชัน>
2. การใช้รหัสตัวรวบรวมข้อมูล
@controller@requestmapping ("/car/") carcontroller คลาสสาธารณะ {// การบันทึกภาพเส้นทางส่วนตัวคงที่สตริงสุดท้าย saveimgpath = "c: // imgs"; /** * @title: แทรกชื่อแบรนด์และภาพการรวบรวมข้อมูลและเพิ่ม * @description: * @param @throws ioexception * @return เป็นโมฆะ * @throws * @date 29 มกราคม 2018 เวลา 4:42:57 PM */@requestmapping ("เพิ่ม" "https://car.autohome.com.cn/zhaoche/pinpai/"; // รับเอกสารข้อความหน้าเว็บ doc = jsoup.connect (url) .get (); // รับเนื้อหาข้อความตามองค์ประกอบชื่อคลาสองค์ประกอบ byclass = doc.getElementsByClass ("uibox-con"); // ถ่ายทอดคอลเลกชันของคลาสสำหรับ (องค์ประกอบองค์ประกอบ: ElementsByClass) {// รับจำนวนแท็กเด็กของคลาส int int childNodesize_1 = element.childNodesize (); // ลูปเพื่อรับเนื้อหาในแท็กเด็กสำหรับ (int i = 0; i <childNodesize_1; i ++) {// รับโลโก้ภาพที่อยู่ของโลโก้รถยนต์สตริง tupian = element.child (i) .child (0) .child (0) .child (0) .child (0) .attr ("src"); // รับสตริงชื่อแบรนด์ pinpai = element.child (i) .child (0) .child (1) .text (); // เอาต์พุตเนื้อหาเพื่อดูว่าเป็น System.out.wintln ("ภาพโลโก้รถยนต์ ที่อยู่ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- url (tupian_1); FileOutputStream (ไฟล์ใหม่ (Saveimgpath, imagename)); Volkswagen* ทุกคนต้องปั่นจักรยานเพื่อรับชื่อของโรงงานร่วมทุนและ บริษัท ย่อยของ บริษัท*/// ได้รับจำนวนชุดรถยนต์ int ildnodesize_2 = องค์ประกอบ. เด็ก (i). CHILD (1). CHILD (0). CHILDESIZE () = element.child (i) .child (1) .childnodesize (); element.child (i) .child (1) .child (0) .child (j) .child (0) .child (0) .child (0) .Text (); Venture Factory ตามลำดับสำหรับ (int j = 0; j <childnodesize_3; j ++) {int childnodesize_4 = element.child (i) .child (1) .child (J) การร่วมทุนจากโรงงานสตริง hezipinpai = element.child (i) .child (1) .child (j) .child (0) .Text (); // ได้รับข้อมูลของระบบยานพาหนะของโรงงานร่วมทุนสำหรับ (int l = 0; l <childnodesize_4; L ++) {String Chexi = Element.child (I). CHILD (1) .Child (J) .Child (l). } System.out.println ("*******************");3. ผลการดำเนินงาน
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น