Python Web Scrapping Menggunakan Beautiful Soup

Selamat Pagi menjelang siang para pembaca. Pada semester ini saya diberikan amanat untuk mengampu mata kuliah PBA – bukan Pendidikan Bahasa Arab ya ๐Ÿ˜€ – tapi singkatan dari Pemrosesan Bahasa Alami atau bahasa kerennya Natural Language Processing (NLP) untuk peminatan Pengolahan Informasi Multimedia di Program Studi S1 Informatika. Pada tulisan ini kita akan belajar membuat program web scrapping sederhana.

Berdasarkan beberapa referensi yang saya baca, tahap-tahap pada NLP yaitu:

  1. Pengumpulan Data
  2. Pre-processing
  3. Ekstraksi Fitur
  4. Training-Testing
  5. Analisis
  6. Evaluasi

Pengumpulan Data

Tahap pertama pada PBA yaitu pengumpulan data. Beberapa Lab riset NLP telah mempublish data yang dapat diunduh secara langsung. Namun jika text yang kita butuhkan belum ada yang menyediakan, maka butuh usaha keras buat ngumpulken data text. Pengumpulan data text dapat melalui web crawling, web scrapping, klo masih g tersedia di internet, berarti harus siap-siap typing/scanning alias ngetik/nye-scan dari hardcopy ๐Ÿ˜€

Python Web Scrapping

Pada contoh ini kita akan pakai library Beautifulย  Soup dan Python 3. Alamat web yang mau kita ambil datanya adalah https://turnbackhoax.id, contoh kita ingin tahu informasi “serbuan tenaga kerja tiongkok” apakah fakta atau hoax.

from bs4 import BeautifulSoup
import requests
def get_soup(url):
 page = requests.get(url)
 soup = BeautifulSoup(page.text, 'html.parser')
 return soup
def web_to_text(url_addr='', query=''):
 soup = get_soup(url_addr+query)
 ##return soup.prettify()
 result = soup.find_all('h3', class_='entry-title mh-loop-title')
 texts = [text.get_text().strip() for text in result] texts
 return texts
if __name__ == '__main__':
 text = web_to_text(url_addr='https://turnbackhoax.id/?s=', query='serbuan tenaga kerja tiongkok')
 print(text)

Method get_soup() untuk membuat inisiasi dari kelas BeautifulSoup, sedangkan method web_to_text() untuk melakukan scrapping, text yang diambil pada contoh diatas adalah text pada tag H3 dengan nama class ‘entry-title mh-loop-title’ seperti pada gambar di bawah ini. Method web_to_text() akan mengembalikan list dari text

IT Telkom Purwokerto

sumber: https://turnbackhoax.id/?s=serbuan+tenaga+kerja+tiongkok

 

Hasil running:

['[SALAH] Video Serbuan Tenaga Kerja Asal China Mendarat di Bandara Haluoleo Kendari', '[HOAX] 10 Juta Tenaga Kerja Tiongkok Masuk ke Indonesia']

Leave a Reply

Your email address will not be published. Required fields are marked *