Pengenalan Scrapping Website Menggunakan Python

Scrapping website menggunakan python merupakan hal yang sudah umum dilakukan, kali ini saya akan menjelaskan cara sederhana menggunakan python untuk mendapatkan data tertentu dari sebuah website dalam contoh ini saya mengunakan library requests dan beautifulsoup pada python.
Penting!
sebelum anda memulai scrapping pada suatu website perhatikan terlebih dahulu hal-hal berikut:
1. Perhatikan terms and condition dari website yang anda tuju dan cermati petunjuk pemakaian dari data yang didapatkan apakah boleh digunakan untuk komersial atau tidak.
2. Jangan melakukan spamming pada website dengan cara scrapping data secara membabi buta sehingga dapat menyebabkan website down.
3. Layout dari website dapat berubah sehingga pastikan code yang anda tulis selaras dengan layout dari website yang dituju.
Sebelum menulis program saya mengasumsikan jika komputer telah diinstall python dengan library beautifulsoup dan requests, oke kita langsung mulai contoh scrapping menggunakan python
- import library request dan beautifulsoup
import requests
from bs4 import BeautifulSoup

- Deklarasikan url yang akan discrap dengan library requests
syntaxnya adalah url_tujuan= requests.get(“url-anda”)
dalam contoh ini saya menggunakan google
url = requests.get(“https://www.google.co.id/?gws_rd=ssl#q=cara+scrapping”) - setelah data dari url yang dikehendaki telah disimpan dalam variabel url kita dapat melihat content dari url secara keseluruhan
gunakan perintah ini untuk mengechek konten dari url:
url.content

- namun ketika dilihat struktur dari file tersebut sangat tidak readable, disinilah peran beautifulsoup untuk merapikan isi agar dapat dibaca dengan jelas dalam tutorial ini kita menggunakan variabel rapi untuk menyimpan data hasil perapian dari variabel url
rapi = BeautifulSoup(url.content)
kemudian untuk menampilkannya dengan rapi dapat dilihat dengan perintah
print rapi.prettify() - Mulai dari sini kita dapat melakukan pencarian informasi yang kita butuhkan

- link: untuk mencari link yang ada dalam data kita dapat menggunakan perintah rapi.find_all(“a”)
dikarenakan link yang terdapat dalam variabel url merupakan list, kita dapat menggunakan perintah loop untuk mendapatkan informasi yang lebih spesifik, contoh kita dapat menggunakan for loop untuk mencari string dari href saja dari link, coba ketik perintah berikut:
for link in rapi.find_all(“a”):
print link.get(“href”)
jika kita ingin mencari teks dari tiap link kita bisa mencoba perintah berikut:
for link in rapi.find_all(“a”):
print link.get(“text”)
Div: div merupakan tag yang tidak memiliki efek apapun pada struktur html. Namun tag ini berfungsi sebagai divider atau pembatas dari struktur html yang ada. Kita dapat menemukan tag div apa saja yang ditulis di variabel rapi dengan cara
rapi.find_all(“div”)
jika div tertentu yang lebih spesifik ingin dicari kita dapat menggunakan perintah misal dalam hal ini adalah class info
rapi.find_all(“div”,{“class”:”info})
Referensi
>https://medium.freecodecamp.org/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe
>https://www.quora.com/What-is-the-legality-of-web-scraping
