Web Scraping Berita dengan 4 Baris Kode menggunakan Python

Pendekatan sederhana untuk melakukan scraping pada situs web

Fahmi Salman
Miloo Community
3 min readJun 12, 2020

--

Photo by Roman Kraft on Unsplash

Dalam artikel ini, saya akan menunjukan bagaimana cara melakukan scraping berita dari berbagai sumber. Daripada menghabiskan waktu lama untuk menulis kode scraping untuk setiap website, kita akan menggunakan newspaper3k untuk secara otomatis mengekstrak informasi terstruktur dari situs web. Anda bisa melihat kode lengkap ini di github.

Jika Anda lebih suka membaca dalam bahasa Inggris, saya sarankan Anda membaca versi bahasa Inggris dengan konten yang lebih lengkap.

Mari kita mulai, langkah pertama adalah menginstall library yang akan digunakan yaitu newspaper3k menggunakan pip. Buka terminal anda (Linux / macOS) atau command prompt (Windows) dan tulis:

$ pip install newspaper3k

Setelah instalasi selesai, buka code editor dan import library dengan kode berikut.

from newspaper import Article

Dalam post ini, Saya akan melakukan scraping berita dari Kumparan yang berjudul berjudul “Syuting Drakor ‘Arthdal Chronicles’ Season 2 Terancam Gagal Akibat COVID-19”.

Selanjutnya, masukan tautan berita yang akan di scraping.

article = Article('https://kumparan.com/review-drakor/syuting-drakor-arthdal-chronicles-season-2-terancam-gagal-akibat-covid-19-1tb0lYIAACQ/full')

Anda memiliki pilihan untuk menentukan bahasa yang digunakan. Meski begitu, newspaper3k dapat mendeteksi dan mengekstrak bahasa dengan cukup baik. Jika anda tidak ada menentukan bahasa yang digunakan, newspaper3k akan mendeteksi bahasa secara otomatis.

Tapi, jika anda ingin menggunakan bahasa yang spesifik, ubah kode menjadi seperti ini.

article = Article('https://kumparan.com/review-drakor/syuting-drakor-arthdal-chronicles-season-2-terancam-gagal-akibat-covid-19-1tb0lYIAACQ/full', 'id') # Indonesia

Kemudian parsing artikel dengan kode berikut.

article.download()
article.parse()

Sekarang semuanya sudah diatur. Kita dapat mulai menggunakan beberapa metode untuk mengekstrak informasi. Disini kita akan mengambil informasi secara berturut-turut adalah judul, penulis, tanggal publikasi, teks berita, dan gambar utama (dalam tautan).

print('Judul:', article.title)
print('Penulis:', article.authors)
print('Tanggal publikasi:', article.publish_date)
print('Teks berita:', article.text)
print('Gambar utama:', article.top_image)

Dan hasilnya akan seperi ini.

Judul: Syuting Drakor 'Arthdal Chronicles' Season 2 Terancam Gagal Akibat COVID-19Penulis: []Tanggal publikasi: NoneTeks berita: Season pertama Arthdal Chronicles menceritakan sebuah legenda asal Korea, yakni seorang pahlawan dari kota Arthdal atau kota mistis di zaman kerajaan Gojoseon . Arthdal Chronicles berlatar sebuah dunia mitologi fiktif di masa kuno. Saat itu umat manusia masih terpecah dalam sejumlah suku, yang memiliki karakteristik dan kepercayaan yang berbeda-beda...Gambar utama: https://blue.kumparan.com/image/upload/w_600,h_315,c_fill,ar_40:21,f_jpg,q_auto/l_i8wjpgngcm1dgiyudijf,g_south,w_600/l_text:Verdana_12:User%20Story%20%7C%20Review%20Drakor,g_south_west,x_10,y_10,co_white/qzmvadtzq3pjqqtgwja6.jpg

Sebagai tambahan, newspaper3k juga menyediakan metode untuk pemrosesan teks sederhana seperti get keywords dan summarization. Caranya adalah dengan menginisiasi terlebih dahulu metode .nlp() .

article.nlp()

Jika anda ingin mendapatkan keywords anda bisa menggunakan sintaks article.keywords sedangkan untuk melakukan summarization anda bisa menggunakan sintaks article.summary. Namun sampai dengan artikel ini dibuat, metode .nlp() ini masih belum tersedia untuk Bahasa Indonesia. Untuk lebih lengapnya, anda bisa melihat dokumentasi dari newspaper3k.

Kesimpulan dari postingan ini adalah kita dapat melakukan scraping berita dari berbagai sumber dengan cukup mudah menggunakan library newspaper3k dan python, dibandingkan jika kita harus menghabiskan waktu yang lama untuk menulis kode scraping untuk setiap situs web. Dengan menggunakan library ini, kita dapat mengambil informasi dasar yang diperlukan seperti penulis berita, tanggal publikasi, teks berita, dan gambar utama dari sebuah berita. Ada juga metode untuk mendapatkan keywords dan summarization. Dan yang paling penting, newspaper3k dapat digunakan untuk melakukan scraping berita dalam berbagai bahasa.

--

--