ฉันเพิ่งเห็นเครื่องมือ Gecoo Crawler ซึ่งให้ความรู้สึกง่ายและใช้งานง่าย เขียนการทดสอบตัวอย่างและรวบรวมข้อมูลเว็บไซต์
http://zj.zjol.com.cn/home.html ส่วนใหญ่รวบรวมชื่อชื่อและเวลาการปล่อยข่าวเป็นวัตถุทดสอบการรวบรวมข้อมูล มันสะดวกมากในการรวบรวมข้อมูลโหนด HTML โดยเลือกโหนดเช่นตัวเลือก jQuery รหัส GECCO ส่วนใหญ่ใช้การใช้คำอธิบายประกอบเพื่อให้ได้การจับคู่ URL ซึ่งดูค่อนข้างรัดกุมและสวยงาม
เพิ่มการพึ่งพา Maven
<การพึ่งพา> <roupId> com.geccacrawler </groupId> <ratifactid> gecco </artifactid> <version> 1.0.8 </version> </derdency>
เขียนหน้ารายการรวบรวมข้อมูล
@GECCO (matchUrl = "http://zj.zjol.com.cn/home.html?pageindex= {ppageIndex}&pagesize= {papesize}", pipelines =" zjnewslistpipelines ") @RequestParameter INT INT INTINDEX; @RequestParameter Private Int Pagesize; @htmlfield (csspath = "#content> div> div> div.con_index> div.r.main_mod> div> ul> li> dl> dt> a") รายการส่วนตัว <Hrefbean> newlist;} @pipelinename ("zjnewslistpipelines") คลาสสาธารณะ zjnewslistpipelines ใช้ pipeline <zjnewsgeccolist> {กระบวนการโมฆะสาธารณะ (zjnewsgeccolist zjnewsgeccolist) สำหรับ (hrefbean bean: zjnewsgeccolist.getNewList ()) {// ป้อนหน้ามงคลเพื่อรวบรวมข้อมูล SchedulerContext.into (request.subrequest ("http://zj.zjol.com.cn"+bean.geturl ())); } int page = zjNewsGecColist.getPageIndex ()+1; String nexturl = "http://zj.zjol.com.cn/home.html?pageindex="+Page+"&pagesize=100"; // รวบรวมข้อมูลหน้าถัดไป scheduLerContext.into (request.subrequest (NextUrl)); - เขียนหน้าคลาน
@gecco (matchurl = "http://zj.zjol.com.cn/news/ [code -code.html", pipelines = "zjnewsdetailpipeline") คลาสสาธารณะ zjnewsdetail ใช้ htmlbean {@text @htmlfield @text @htmlfield (csspath = "#content> div> div.news_con> div.news-content> div: nth-child (1)> div> p.go-left.post-time.c-gray") สตริงส่วนตัว createTime;}} @pipelinename ("zjnewsdetailpipeline") คลาสสาธารณะ zjnewsdetailpipeline ใช้ pipeline <zjnewsdetail> {กระบวนการโมฆะสาธารณะ (zjnewsdetail zjnewsdetail) {system.out.println (zjnewsdetail. "+zjnewsdetail.getCreateTime ()); - เริ่มต้นฟังก์ชั่นหลัก
คลาสสาธารณะหลัก {โมฆะคงที่สาธารณะหลัก (สตริง [] rags) {geccoEngine.create () // เส้นทางแพ็คเกจของ Project.classPath ("com.zhaochao.gecco.zj") // ที่อยู่หน้าเว็บ // เปิดเธรดตัวรวบรวมข้อมูลหลายตัวธรณีประเพณี (10) // ช่วงเวลาระหว่างตัวรวบรวมข้อมูลเดียวหลังจากการรวบรวมข้อมูลแต่ละครั้งการร้องขอ Interval (10) // ใช้ PC useragent .mobile (false) // start run.run (); -ผลการรวบรวมข้อมูล
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น