Media Pengembangan Web & App | by APPKEY

Pembuatan WebsiteTeknologi WebPedoman Teknik Jitu Web Scraping Python untuk Pemula

Pedoman Teknik Jitu Web Scraping Python untuk Pemula

-

Last Updated on February 16, 2022 by

Pyhton adalah bahasa pemrograman dengan seribu kegunaan. Dulu, kita sudah pernah membahas cara melakukan analisis dan pengolahan big data memakai Python kini, kita akan belajar cara web scraping Python.

Sudahkah Anda pernah mendengar apa itu web scraping? Web scraping adalah salah satu strategi SEO yang sangat bermanfaat dalam dunia bisnis. Banyak perusahaan besar ternama saat ini melakukan web scraping Python sebagai salah satu metode untuk melancarkan bisnisnya.

Anda yang bekerja sebagai programmer juga perlu mengetahui apa itu web scraping serta cara scraping web dengan Python untuk mempermudah kelancaran bisnis sendiri ataupun melancarkan karir diterima pekerjaan di perusahaan ternama. Sudah siap  belajar web scraping Python? Yuk kita langsung simak pembahasan lengkapnya berikut ini. Selamat membaca!

Apa Itu Web Scraping?

pemrograman-web

Sudah pernah mendengar istilah ‘web scraping’? Atau, Anda masih bertanya-tanya apa itu web scraping? Web scraping adalah sebuah metode pengumpulan data dari website dan melakukan analisa data-data secara online.

Ada juga yang mendefinisikan web scraping adalah proses pendataan informasi milik para kompetitor atau pesaing bisnis, sehingga Anda bisa memperoleh gambaran terkait medan persaingan. Namun selain itu, web scraping bisa digunakan untuk banyak aktivitas bisnis lainnya, mulai dari mencari leads, meriset kondisi dan minat pasar target, meriset kompetitor, dan seterusnya.

Inti mekanisme web scraping adalah mengumpulkan data dari internet dan website, kemudian menyimpan data-data tersebut di file spreadsheet seperti Google Sheet atau Microsoft Excel. Web scraping dapat dilakukan dengan 2 cara umum, yakni manual dan otomatis. Metode web scraping manual dilakukan dengan cara men-copy dan paste informasi aneka website pesaing secara manual. Kemudian, Anda dituntut untuk melakukan analisa data sendiri.

Cara kedua adalah melakukan web scraping dengan bahasa pemrograman (koding), browser extention, atau aplikasi pembantu. Cara ini juga dikenal dengan nama web scraping otomatis. Web scraping Python termasuk ke dalam mekanisme web scraping otomatis.

Artikel Terkait  Database Adalah ? | Cara Meningkatkan Keamanan Database

Python memang terkenal sebagai bahasa pemrograman yang unik, sebab kegunaannya cenderung lebih banyak berorientasi pada analisa dan pengolahan data. Pada bagian akhir dari artikel ini, kami akan mengajak Anda untuk melihat bagaimana cara scraping web dengan Python.

Mengapa Anda Perlu Belajar Web Scraping Python?
Kenapa kita perlu tahu tentang web scraping Python? Seperti yang sempat disinggung sebelumnya, web scraping Python mempunyai banyak manfaat menarik – khususnya untuk Anda yang saat ini bekerja di sebuah perusahaan atau sedang mengelola bisnis sendiri.

Beberapa manfaat dari mengaplikasikan web scraping Python adalah:

Mampu Melakukan Investigasi ke Perusahaan Lain
Menguasai web scraping Python sama dengan Anda telah memegang kunci menuju proses investigasi ke perusahaan lain. Anda bisa melihat-lihat secara lebih mendalam dan detil tentang perusahaan tersebut dari website dan media sosial mereka saja menggunakan metode web scraping Python. Nantinya, Anda bisa lebih mudah memahami insight perusahaan pesaing

Mudah Memperoleh Leads

Web scraping Python memungkinkan Anda lebih mudah “meng-copy dan paste” list follower dari media sosial dan website perusahaan pesaing untuk Anda gunakan sebagai target pasar baru di tahap permulaan bisnis. Anda bisa memperoleh informasi penting seperti list e-mail user untuk Anda coba hubungi dan tawarkan produk, atau mendapat data-data demografi user untuk bahan segmentasi pasar.

Membantu Penentuan Harga Terbaik

Menentukan harga memang perkara gampang-gampang susah. Namun dengan web scraping, Anda bisa lebih mudah meriset beragam komponen penentu harga seperti posisi brand, harga-harga milik kompetitor, biaya dan juga tenaga produksi. Alhasil, Anda bisa dengan lebih mudah menentukan harga terbaik.

Mudah Menganalisis dan Membandingkan Data Besar

Web scraping bisa dipakai untuk membandingkan data-data dalam jumlah besar, seperti review konsumen. Untuk Anda yang bekerja atau memiliki perusahaan dengan ribuan testimoni, Anda bisa lebih cepat dalam menganalisa semua review konsumen memakai web scraping Python. Web scraping Python bisa mendokumentasikan semua data secara cepat dan dalam tampilan yang lebih mudah dibaca atau dicerna user.

Bagaimana? Setelah membaca ragam manfaat web scraping, apakah Anda sudah tidak sabar untuk mengetahui cara melakukan web scraping memakai bahasa pemrograman Python? Yuk lanjutkan scroll ke bagian selanjutnya untuk mengetahui jawabannya!

Pedoman Dasar Web Scraping Python

web-scraping

Tibalah kita kini di pedoman dasar melakukan web scraping memakai bahasa pemrograman Python. Seperti yang sudah kita pelajari bersama,  web scraping merupakan metode khusus untuk mengumpulkan dan mendownload data-data dari web internet, memilah-memilih data, hingga akhirnya menyalurkan data-data ke bagian lain untuk diproses.

Di bawah ini, kita akan melihat bagaimana melakukan web scraping simpel untuk mengumpulkan data judul buku fiksi terbaik di internet dengan bahasa pemrograman Python:

Artikel Terkait  Masyarakat dan Teknologi: Bagaimana Teknologi Memengaruhi Cara Kita Berinteraksi

Instalasi Scraper

Untuk memulai, Anda akan memerlukan scraper Python web terlebih dahulu, yakni Python dan lingkungan virtual Python 3.  Anda bisa mengonfigurasinya seperti contoh:

$ python3 -m venv venv
$ . ./venv/bin/activate

Kemudian, lanjutkan dengan menginstal 2 paket, yakni BeautifulSoup4 (untuk mengatasi semua proses HTML) dan request (untuk mengajukan permintaan HTTP). Instal BeautifulSoup4 dengan pip:
$ pip install requests BeautifulSoup4

Setelahnya, jalankan editor teks > buat file baru (Anda bebas menamainya apa saja). Contoh nama file: bukufiksi.py > lanjutkan dengan melakukan import ke file:

from requests import get
from requests.exceptions import RequestException
from contextlib import closing
from bs4 import BeautifulSoup

Buat Permintaan Web

Selanjutnya, mari kita buat permintaan web dengan mendownload halaman web. Untuk tugas ini, Anda akan memerlukan paket requests (fungsi: requests.get). Jalankan fungsi:

def simple_get(url):
"""
Attempts to get the content at `url` by making an HTTP GET request.
If the content-type of response is some kind of HTML/XML, return the
text content, otherwise return None

"""
try:
with closing(get(url, stream=True)) as resp:
if is_good_response(resp):
return resp.content
else:
return None except RequestException as e:
log_error('Error during requests to {0} : {1}'.format(url, str(e)))
return None
def is_good_response(resp):
"""
Returns true if the response seems to be HTML, false otherwise
"""
content_type = resp.headers['Content-Type'].lower()
return (resp.status_code == 200
and content_type is not None
and content_type.find('html') > -1)
def log_error(e):
"""
It is always a good idea to log errors.
This function just prints them, but you can
make it do anything.
"""
print(e)

Setelah menjalankan fungsi di atas, Anda seharusnya akan memperoleh konten HTML untuk halaman web yang diminta. Sebagai catatan, fungsi simple_get dapat membuat GET request dan menampung 1 URL argumen. Namun semisal terjadi error seperti server down atau URL rusak, maka function yang Anda buat akan kembali ‘none’. Untuk memastikan kembali, Anda bisa menguji simple_get :

>>> from bukufiksi import simple_get
>>> raw_html = simple_get('https://realpython.com/blog/')
>>> len(raw_html)
33878>>> no_html = simple_get('https://realpython.com/blog/nope-not-gonna-find-it')
>>> no_html is None
True

Melakukan Wrangling HTML Memakai BeautifulSoup
Tahap selanjutnya adalah melkukan wranging HTML memakai BeautifulSoup. Wranging HTML ini adalah proses pemilihan, pemilahan dan ekstraksi HTML. Sistem konstruktor BeautifulSoup dapat memparsing data string HTML yang baku. Sebagai hasilnya, Anda bisa mendapatkan objek (metode untuk melihat dan memanipulasi konten teks dan nodus DOM) yang menjadi cerminan struktur dokumen HTML.

Artikel Terkait  Layanan VPS Murah di Indonesia | Terbaik dan Lebih Cepat

Contoh dokumen HTML adalah:

<!DOCTYPE html>
<html>
<head>
<title>Contrived Example</title>
</head>
<body>
<p id="fruit"> I am the fruit</p>
<p id="banana"> I am the banana</p>
</body>
</html>

Semisal HTML contoh di atas tersimpan di file contrived.html. Kemudian, Anda mengaplikasikan BeautifulSoup pada data HTML di atas seperti:

>>> from bs4 import BeautifulSoup
>>> raw_html = open('contrived.html').read()
>>> html = BeautifulSoup(raw_html, 'html.parser')
>>> for p in html.select('p'):
... if p['id'] == 'banana':
... print(p.text)'I am the banana'

Alternatif lainnya, Anda bisa mencoba metode lain berikut ini untuk menjalankan wranging HTML dengan BeautifulSoup:

  1. Urai HTML mentah. Caranya: kirim data ke konstruktor BeautifulSoup > data diolah memakai backend parser ‘html.parser’ > input argumen kedua.
  2. Pakai metode select (html.select(‘p’) dengan CSS untuk menscan unsur dokumen. Caranya: html.select(‘p’) > kembalikan list elemen paragraf > setiap elemen ‘p’ punya atribut HTML yang bisa diakses di data ‘dict’ > ganti if p[‘id’] == ‘banana’ > cek jika id atribut sama dengan string ‘banana’ yakni <p id=”banana”> HTML.

Mencari Nama Buku dengan BeautifulSoup

  1. Di sini, Anda bisa memakai browser untuk mengecek dokumen web untuk lebih cepat. Jika dicermati, nama-nama buku yang Anda telusuri di web sumber akan muncul dalam teks konten memakai tag <li>.
  2. Tampilan web memakai Python:

>>> raw_html = simple_get('http://www.websitesumber.com/fiksi/bukufiksi.htm')
>>> html = BeautifulSoup(raw_html, 'html.parser')
>>> for i, li in enumerate(html.select('li')):
print(i, li.text)0 Harry Potter
Narnia
Percy Jackson
Cinderella
The Hunger Games1 Snow White
Narnia
Mulan

The Hunger Games2 Little Mermaid
Narnia
he Hunger Games 3 The Hunger Games
The Hunger Games4 The Hunger Games# 5 ... and many more...

Pada contoh di atas tertera beberapa elemen <li> mempunyai sejumlah nama yang terpisah oleh karakter baris baru sementara lainnya berisi satu nama saja.

  1. Tulis fungsi untuk mendapatkan 1 daftar nama buku:
    def get_names():
    """

    Downloads the page where the list of fiction book is found
    and returns a list of strings, one per title
    """
    url = 'http://www.websitesumber.com/fiksi/bukufiksi.htm'
    response = simple_get(url) if response is not None:
    html = BeautifulSoup(response, 'html.parser')
    names = set()
    for li in html.select('li'):
    for name in li.text.split('\n'):
    if len(name) > 0:
    add(name.strip())
    return list(names) # Raise an exception if we failed to get any data from the url
    raise Exception('Error retrieving contents at {}'.format(url))
  2. Terakhir, tambahkan setiap nama ke Python set untuk memastikan daftar nama Anda tidak double / duplikat.

Sampai di sini sudah cukup. Nantinya Anda sudah bisa mendapatkan kumpulan data mentah scraping yang bisa disalurkan ke proses pengolahan data selanjutnya.

Demikianlah pembahasan kali ini tentang web scraping Python. Semoga artikel edisi kali ini mampu menambah  wawasan Anda, ya! Temukan juga lebih banyak artikel  menarik dan berwawasan IT lainnya hanya dari Appkey.id. Sayonara!


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Mau posting artikel iklan?

Yuk klik dan ikuti ketentuan layanan dari kami, dapatkan penawaran paket dengan harga terbaik!

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang Website, Aplikasi, Desain, Video dan API langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Kategori

Blog Post Ranking 10

Contoh PHP Curl : 10 Hal Luar Biasa yang dapat Anda Kembangkan dengan Curl

Meningkatnya jumlah aplikasi yang pindah ke web telah membuat "HTTP Scripting" lebih sering diminta dan diinginkan. Untuk dapat secara...

Encoding Adalah : Proses Komunikasi Encoding dan Decoding

Jika kita dapat melihat percakapan antar komputer, mungkin akan terlihat seperti ini: "010110111011101011010010110". Bahasa ini disebut dengan biner, encoding...

Looping Adalah Algoritma Perulangan: Berikut Contohnya

Jika anda sudah mendalami atau sedang mendalami dunia pemrograman terdapat sebuah konsep yang dapat memudahkan anda dalam menyusun struktur...

Rekomendasi 7 Aplikasi Pembuat Animasi 3D Terbaik. Ayo Cek!

Apakah Anda bercita-cita untuk menjadi seorang animator profesional? Belajar membuat animasi kini sudah menjadi hal mudah yang bisa dilakukan...

Metadata Adalah? Fungsi dan Jenis-Jenis Metadata

Pernah mendengar istilah metadata? Mungkin, kita sering mendengar istilah metadata. Tetapi, banyak dari kita yang belum tahu arti dari metadata...

Cara Membuat Aplikasi di Playstore dengan Mudah

Membuat aplikasi di Playstore bisa Anda lakukan dengan mudah. Terdapat beberapa situs yang bisa membantu Anda untuk membuat aplikasi...

4 Cara Mengatasi Autentikasi Google Play Store dengan Cepat dan Mudah

Apakah Anda sedang mengalami masalah autentikasi Google Play Store? Permasalahan autentikasi Google Play Store adalah permasalahan umum sering dialami...

Ini Cara Mudah Membuat Redirect PHP | Seri Belajar PHP

Fungsi redirect PHP sangat banyak digunakan dalam kehidupan berwebsite alias mengelola website. Script redirect PHP banyak dipergunakan oleh user...

Cara Mudah Menambahkan Lokasi Alamat Bisnis Anda di Google Maps

Saat ingin hunting tempat makan atau tempat nongkrong terbaru, tak jarang beberapa dari Anda biasanya mendapatkan informasi terkini melalui...

Rekomendasi 10 Aplikasi Coding Android Terbaik

Ketersediaan aplikasi coding Android memang banyak dicari oleh orang-orang yang sedang atau akan memulai untuk membuat aplikasi android. Jika...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya