Program perayap yang ditulis dengan bantuan ChatGPT dapat menganalisis tren teknologi terkini berdasarkan konten blog teknologi Internet terkini.
Fungsi utama:
Tentukan situs blog teknologi target program crawler, tentukan halaman yang perlu dirayapi dan informasi yang perlu diekstraksi. Informasi ini dapat mencakup judul artikel, penulis, tanggal publikasi, abstrak, konten, dll.
Gunakan kerangka OkHttp3 untuk memulai permintaan HTTP untuk mendapatkan kode HTML halaman web. Untuk menghindari pemblokiran oleh situs web, Anda perlu mengatur parameter yang sesuai seperti Agen-Pengguna dan waktu tunda. Untuk permintaan dalam jumlah besar, Anda dapat mempertimbangkan untuk menggunakan IP proxy dan strategi lain untuk mencegah pemblokiran.
Gunakan kerangka Jsoup untuk mengurai kode HTML dan mengekstrak informasi yang diperlukan. Anda dapat menggunakan pemilih untuk menemukan elemen yang diperlukan, dan menggunakan API untuk mendapatkan atribut elemen dan konten teks. Perlu diperhatikan bahwa beberapa situs web mungkin menggunakan teknologi anti-perayap, seperti menyetel kode verifikasi, membuat laman secara dinamis, dll., yang perlu ditangani sesuai dengan keadaan tertentu.
Gunakan kerangka Mybatis Plus untuk menyimpan data ke dalam database. Anda harus terlebih dahulu menentukan struktur dan kelas entitas tabel data, lalu menggunakan API yang disediakan oleh kerangka kerja untuk menambah, menghapus, mengubah, dan mengkueri data. Untuk menghindari penyimpanan duplikat, Anda dapat mempertimbangkan untuk menggunakan mekanisme seperti kunci utama atau indeks unik untuk menghapus duplikat data.
Gunakan tugas terjadwal untuk menjalankan program crawler secara berkala guna memastikan pembaruan data tepat waktu. Frekuensi dan waktu eksekusi yang tepat perlu diatur untuk menghindari terlalu seringnya akses ke website target sehingga menyebabkan kelainan website.
Momen serunya ada di sini , biarkan ChatGPT menghasilkan kode sumber. Informasi yang kami berikan kepada AI meliputi: nama proyek ai-crawler, Java versi 1.8, dependensi: mybatis-plus-boot-starter, okhttp,hutool-all, jsoup.Jenis kode apa yang akan dihasilkan AI ?
Cukup memuaskan. Saya tahu cara membuat dua kelas alat berdasarkan okhttp dan jsoup.
Selanjutnya, berikan petunjuk lain dan beri tahu AI model data spesifik, yang saat ini sementara disebut Blog, dan biarkan AI menghasilkan kode penambahan, penghapusan, modifikasi, dan kueri tertentu.
Mari kita lihat performanya:
Lumayan, kelas entitas Blog yang dihasilkan menggunakan anotasi @TableName dari MybatisPlus; Anotasi @Service Spring juga digunakan secara sadar.
Apakah kode ini tidak lebih buruk dari insinyur junior Java ?
Selain kode logika dasar di atas, mari kita lihat kelas konfigurasi dan file konfigurasi.
Akankah AI menggantikan programmer? Mungkin di masa depan, tapi mungkin tidak sekarang. Menurut saya AI lebih seperti alat yang berguna.