Rumah >Java >javaTutorial >Kemahiran pembangunan Java didedahkan: melaksanakan fungsi perangkak web
Kemahiran Pembangunan Java Didedahkan: Melaksanakan Fungsi Web Crawler
Dengan perkembangan pesat Internet, jumlah maklumat di Internet sentiasa meningkat, tetapi bukan semua maklumat ini mudah dicari. Oleh itu, teknologi web crawler muncul mengikut keperluan masa dan telah menjadi cara penting untuk mendapatkan pelbagai maklumat di Internet. Dalam pembangunan Java, melaksanakan fungsi perangkak web boleh membantu kami mendapatkan data pada rangkaian dengan lebih cekap, sekali gus memudahkan kerja pembangunan kami. Artikel ini akan mendedahkan cara untuk melaksanakan fungsi perangkak web dalam pembangunan Java dan berkongsi beberapa petua dan pengalaman praktikal.
Perangkak web (juga dikenali sebagai labah-labah web, robot web, dll.) ialah program yang secara automatik mendapatkan maklumat halaman web Prinsip kerjanya adalah serupa dengan cara orang menyemak imbas halaman web Internet, tetapi perangkak web boleh secara automatik Menjalankan proses ini. Melalui perangkak web, kita boleh memperoleh pelbagai bentuk maklumat seperti kod sumber halaman web, pautan, imej, video, dll., untuk menjalankan analisis data, pengoptimuman enjin carian, pengumpulan maklumat dan kerja lain.
Dalam pembangunan Java, pelbagai rangka kerja perangkak web sumber terbuka boleh digunakan untuk melaksanakan fungsi perangkak web, seperti Jsoup, WebMagic, dll. Rangka kerja ini menyediakan API dan fungsi yang kaya yang boleh membantu kami melaksanakan fungsi perangkak web dengan cepat dan berkesan.
Jsoup ialah penghurai HTML Java yang sangat baik Ia mempunyai API yang ringkas dan jelas serta pemilih berkuasa, yang boleh mengekstrak pelbagai elemen dalam halaman dengan mudah. Berikut ialah contoh mudah untuk memperkenalkan cara menggunakan Jsoup untuk melaksanakan perangkak web mudah.
Pertama, kita perlu menambah kebergantungan Jsoup:
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.13.1</version> </dependency>
Seterusnya, kita boleh menulis program perangkak web yang mudah, seperti merangkak tajuk laman utama Baidu:
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; public class SimpleCrawler { public static void main(String[] args) { String url = "http://www.baidu.com"; try { Document doc = Jsoup.connect(url).get(); String title = doc.title(); System.out.println("网页标题:" + title); } catch (IOException e) { e.printStackTrace(); } } }
Melalui kod di atas, kita boleh mendapatkan maklumat tajuk dari laman utama Baidu Dan mencetak output Ini hanyalah contoh mudah Dalam aplikasi sebenar, Jsoup boleh digunakan dengan lebih fleksibel untuk penghuraian halaman dan pengekstrakan data mengikut keperluan.
Selain Jsoup, WebMagic ialah satu lagi rangka kerja perangkak web Java yang sangat baik dan berskala fleksibel untuk memenuhi pelbagai keperluan perangkak web. Mari perkenalkan cara menggunakan WebMagic untuk melaksanakan perangkak web mudah.
Pertama, kita perlu menambah kebergantungan WebMagic:
<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</version> </dependency>
Kemudian, kita boleh menulis program perangkak web yang mudah, seperti merangkak tajuk soalan pada halaman utama Zhihu:
import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.pipeline.FilePipeline; import us.codecraft.webmagic.processor.PageProcessor; import us.codecraft.webmagic.Site; import us.codecraft.webmagic.model.OOSpider; import us.codecraft.webmagic.selector.Selectable; public class ZhihuPageProcessor implements PageProcessor { private Site site = Site.me().setRetryTimes(3).setSleepTime(1000); @Override public void process(Selectable page) { Selectable title = page.xpath("//h1[@class='QuestionHeader-title']"); System.out.println("问题标题:" + title.get()); } @Override public Site getSite() { return site; } public static void main(String[] args) { Spider.create(new ZhihuPageProcessor()) .addUrl("https://www.zhihu.com") .addPipeline(new FilePipeline("/data/webmagic/")) .run(); } }
Dengan kod di atas, kita boleh melaksanakan rangkaian mudah Program perangkak yang menggunakan WebMagic untuk merangkak tajuk soalan pada halaman utama Zhihu. WebMagic memproses halaman melalui PageProcessor dan memproses hasil melalui Pipeline Ia juga menyediakan konfigurasi yang kaya dan keupayaan pengembangan untuk memenuhi pelbagai keperluan.
Atas ialah kandungan terperinci Kemahiran pembangunan Java didedahkan: melaksanakan fungsi perangkak web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!