Rumah  >  Artikel  >  Java  >  Bolehkah Java Mencari Google Secara Pemrograman Tanpa API Khusus?

Bolehkah Java Mencari Google Secara Pemrograman Tanpa API Khusus?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-23 14:02:131013semak imbas

Can Java Programmatically Search Google Without a Dedicated API?

Cara Mencari Google Secara Pengaturcaraan Menggunakan Java API

Artikel ini mengkaji proses mencari Google secara pengaturcaraan, khususnya memfokuskan pada ketersediaan Java API untuk tujuan ini.

Menggunakan Carian Web Google API

Pada asalnya, Google menawarkan API carian web awam yang mengembalikan data format JSON. Walau bagaimanapun, perkhidmatan ini telah ditamatkan. Mulai November 2010, alternatif terbaik ialah menanyakan terus enjin carian Google menggunakan ejen pengguna dan kemudian menghuraikan respons HTML menggunakan parser seperti Jsoup.

Pelaksanaan Java

Pertama, mari kita sediakan pembolehubah dan wujudkan carian URL:

String google = "http://www.google.com/search?q=";
String search = "stackoverflow";
String charset = "UTF-8";
String userAgent = "ExampleBot 1.0 (+http://example.com/bot)"; // Customize for your bot

Seterusnya, kami menggunakan Jsoup untuk membuat permintaan HTTP dan menghuraikan HTML:

Elements links = Jsoup.connect(google + URLEncoder.encode(search, charset)).userAgent(userAgent).get().select(".g>.r>a");

Akhir sekali, kami mengulangi hasil carian dan mengekstrak tajuk dan URL:

for (Element link : links) {
    String title = link.text();
    String url = link.absUrl("href");
    url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8");
    if (!url.startsWith("http")) {
        continue; // Ads/news/etc.
    }

Atas ialah kandungan terperinci Bolehkah Java Mencari Google Secara Pemrograman Tanpa API Khusus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn