0% menganggap dokumen ini bermanfaat (0 suara)
109 tayangan7 halaman

M2. Crawling Data

Workshop ini membahas tentang crawling data, termasuk teori dasar crawling serta contoh penerapannya untuk mengumpulkan data dari situs web dan media sosial. Siswa diajak untuk mempelajari sumber data dan metode crawling, kemudian melakukan percobaan scraping data cuaca dari suatu situs dengan mengekstrak periode, deskripsi, suhu, dan lainnya menggunakan library BeautifulSoup dan Pandas.

Diunggah oleh

Rifda Qurrotul 'Ain
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
109 tayangan7 halaman

M2. Crawling Data

Workshop ini membahas tentang crawling data, termasuk teori dasar crawling serta contoh penerapannya untuk mengumpulkan data dari situs web dan media sosial. Siswa diajak untuk mempelajari sumber data dan metode crawling, kemudian melakukan percobaan scraping data cuaca dari suatu situs dengan mengekstrak periode, deskripsi, suhu, dan lainnya menggunakan library BeautifulSoup dan Pandas.

Diunggah oleh

Rifda Qurrotul 'Ain
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

WORKSHOP 2

CRAWLING DATA
A. TUJUAN PEMBELAJARAN
1. Mahasiswa memahami metode pengumpulan data melalui proses crawling
2. Mahasiswa dapat melakukan crawling data dari berbagai sumber

B. DASAR TEORI
Web crawling adalah proses otomatisasi yang digunakan untuk mengumpulkan
informasi dari World Wide Web. Pada dasarnya, web crawler (atau sering disebut juga
web spider atau web robot) adalah program komputer yang secara sistematis menjelajahi
halaman web, mengikuti tautan antara halaman-halaman tersebut, dan mengambil data
dari setiap halaman yang dikunjungi. Web crawler bekerja dengan mengakses URL
(Uniform Resource Locator) atau tautan pada halaman web awal yang ditentukan. Setelah
mengakses halaman tersebut, crawler akan menganalisis dan mengumpulkan informasi
yang diperlukan, seperti teks, gambar, atau informasi struktural lainnya. Proses ini
berulang hingga seluruh tautan dalam situs web tersebut telah dijelajahi atau sampai
batasan yang ditentukan.
Crawler juga dapat mengikuti tautan eksternal yang ada dalam halaman yang
sedang dikunjungi, yang berarti mereka dapat melintasi berbagai situs web untuk
mengumpulkan data dari banyak sumber yang berbeda. Informasi yang diambil kemudian
dapat digunakan untuk berbagai tujuan, seperti pengindeksan mesin pencari, analisis data,
pengumpulan informasi untuk penelitian, dan banyak lagi. Namun, penting untuk diingat
bahwa tidak semua data yang tersedia di web dapat secara bebas diambil oleh web
crawler. Beberapa situs web menggunakan teknik tertentu untuk melindungi data mereka,
seperti file robots.txt yang memberikan instruksi kepada crawler tentang halaman mana
yang boleh atau tidak boleh diakses. Selain itu, ada juga langkah-langkah kebijakan
privasi dan hukum yang mengatur pengambilan dan penggunaan data dari situs web. Web
crawling dapat menjadi alat yang sangat berguna dalam pengumpulan data dari web,

1
tetapi perlu diperhatikan etika dan batasan hukum serta kebijakan privasi saat
menggunakan teknik ini.

Crawling data media sosial mengacu pada proses mengumpulkan informasi dari
platform media sosial menggunakan teknik web crawling yang telah dijelaskan
sebelumnya. Ini melibatkan menjelajahi halaman-halaman web dalam platform media
sosial dan mengambil data yang relevan. Pada dasarnya, langkah-langkah dalam crawling
data media sosial mirip dengan web crawling pada umumnya. Namun, ada beberapa
perbedaan tergantung pada platform media sosial yang ingin diambil datanya. Berikut
adalah langkah-langkah umum dalam crawling data media sosial:

1. Identifikasi sumber data: Tentukan platform media sosial yang ingin Anda crawl,
seperti Twitter, Facebook, Instagram, LinkedIn, YouTube, dan lain sebagainya.
2. Peroleh akses API: Jika tersedia, daftar dan peroleh kunci API (Application
Programming Interface) dari platform media sosial yang ingin Anda crawl. API
ini memungkinkan Anda untuk berinteraksi dengan platform dan mengambil data
dengan cara yang diizinkan oleh platform tersebut.
3. Tentukan parameter crawling: Pilih jenis data yang ingin Anda kumpulkan, seperti
teks, gambar, video, metadata pengguna, interaksi sosial, dan lain sebagainya.
Tentukan juga batasan waktu, kata kunci, atau filter lain yang relevan.
4. Kembangkan crawler: Gunakan bahasa pemrograman seperti Python untuk
mengembangkan program crawler yang akan mengakses API platform media
sosial dan mengambil data sesuai parameter yang ditentukan. Anda juga perlu
mengatur manajemen waktu dan jumlah permintaan untuk mematuhi kebijakan
API platform.
5. Proses dan simpan data: Setelah data diambil, proses dan simpan data dalam
format yang sesuai, seperti file CSV, JSON, atau database, untuk analisis
selanjutnya.

Penting untuk diingat bahwa saat melakukan crawling data media sosial, Anda perlu
memperhatikan kebijakan dan batasan yang diberlakukan oleh masing-masing platform.

2
Beberapa platform media sosial mungkin memiliki batasan akses dan kebijakan privasi
yang perlu diikuti. Pastikan Anda memahami dan mengikuti aturan yang berlaku untuk
penggunaan data media sosial.

Crawling dan scraping adalah dua konsep yang berbeda terkait dalam konteks
pengumpulan data dari web. Berikut adalah perbedaan utama antara crawling dan
scraping:
Crawling:
1. Tujuan: Crawling adalah proses otomatisasi yang digunakan untuk menjelajahi
dan mengumpulkan informasi dari berbagai halaman web dengan mengikuti
tautan antara halaman-halaman tersebut.
2. Skala: Crawling biasanya dilakukan pada skala yang lebih besar, mengunjungi
banyak halaman web dan mengumpulkan data dari setiap halaman yang
dikunjungi.
3. Tautan: Crawling menggunakan tautan untuk melintasi halaman web dan
memperoleh data dari berbagai sumber yang terhubung.
4. Waktu: Proses crawling berjalan secara terus-menerus atau berulang untuk
memperbarui data dan mengikuti perubahan di web.
5. Mesin Pencari: Crawling digunakan oleh mesin pencari untuk memperbarui dan
membangun indeks dari halaman-halaman web.
Scraping:
1. Tujuan: Scraping adalah proses ekstraksi data spesifik dari halaman web dengan
cara mengekstrak konten secara langsung dari kode HTML atau struktur halaman
web.
2. Spesifik: Scraping dilakukan untuk mengambil data tertentu yang ditentukan
secara spesifik, seperti judul artikel, harga produk, atau ulasan pengguna.
3. Pemrosesan: Scraping melibatkan analisis kode HTML untuk mengidentifikasi
dan mengekstrak data yang diinginkan.
4. Fokus pada Konten: Scraping bertujuan untuk mengumpulkan data yang
terstruktur dari halaman web, seringkali untuk analisis atau penggunaan lainnya.

3
5. Perlindungan: Scraping seringkali melibatkan penghindaran mekanisme
keamanan dan kebijakan privasi yang diterapkan oleh situs web yang diambil
datanya.
Meskipun crawling dan scraping memiliki perbedaan ini, seringkali kedua konsep ini
digunakan bersamaan dalam pengumpulan data dari web. Crawling digunakan untuk
menjelajahi situs web dan mengidentifikasi halaman yang akan di-scraper untuk
mendapatkan data yang spesifik.

C. TUGAS PENDAHULUAN
1. Pelajari sumber data yang dapat digunakan untuk analisis media sosial
2. Pelajari metode crawling data dari berbagai sumber

D. PERCOBAAN
Sebelum memulai scraping, kita harus tahu terlebih dahulu struktur webpage yang akan
dijadikan target. Disini kita bisa menggunakan Developer Tools pada web browser
Chrome. "Inspect Element". Pada percobaan ini kita akan melakukan Scraping Data Cuaca
Kota San Fransisco dari forecast.weather.gov.

Scroll up pada panel Elements untuk menemukan element terluar yang memuat semua teks
yang berhubungan dengan Extended Forecast. Dalam hal ini adalah tag div dengan id

4
seven-day-forecast. Jika kamu klik console dan mencoba explore tag div tersebut, akan
kamu temukan bahwa setiap forecast item (seperti today, tonight, tuesday ...) berada dalam
tag div dengan class tombstone-container.

Langkah Percobaan:
1. Import library yang diperlukan

import requests
from bs4 import BeautifulSoup

2. Lakukan scrapping menggunakan code berikut

page =
requests.get("https://forecast.weather.gov/MapClick.php?lat=37.7772&lo
n=-122.4168")
soup = BeautifulSoup(page.content, 'html.parser')
seven_day = soup.find(id="seven-day-forecast")

period = today.find(class_='period-name').get_text()
short_desc = today.find(class_='short-desc')
for br in short_desc.find_all('br'):
br.replace_with('\n' + br.text)
short_desc = short_desc.get_text().replace('\n', ' ')
temp = today.find(class_='temp').get_text()

print(period)
print(short_desc)
print(temp)

3. Lakukan percobaan pengambilan period dari website tersebut

period_tags = seven_day.select(".tombstone-container .period-name")


periods = [pt.get_text() for pt in period_tags]
periods

4. Uji coba mengambil deskripsi dari website

short_descs = [sd for sd in seven_day.select(".tombstone-container


.short-desc")]
for sd in short_descs:
for br in sd.find_all('br'):
br.replace_with('\n' + br.text)
short_descs = [sd.get_text().replace('\n', ' ') for sd in
short_descs]
short_descs

5
5. Uji coba mengambil suhu

temps = [t.get_text() for t in seven_day.select(".tombstone-container


.temp")]
temps

6. Uji coba mengambil deskripsi pada web

descs = [d["title"] for d in seven_day.select(".tombstone-container


img")]
descs

7. Menggabungkan data dengan Pandas Dataframe

import pandas as pd
weather = pd.DataFrame({
"period": periods,
"short_desc": short_descs,
"temp": temps,
"desc": descs
})

weather

8. Melakukan analisis data sederhana

temp_nums = weather["temp"].str.extract('(\d+)', expand=False)


temp_nums

weather["temp_num"] = temp_nums.astype('int')
weather

weather["temp_num"].mean()

is_night = weather["temp"].str.contains("Low")
weather["is_night"] = is_night
is_night

weather[is_night]

E. TUGAS
Lakukan crawling dan scraping data dari sebuah website kemudian jelaskan informasi
apa yang anda dapatkan dari proses tersebut.

6
F. LAPORAN RESMI
Kumpulkan hasil percobaan, latihan dan tugas di atas dan tambahkan analisis untuk tiap
percobaan, dan tugas yang telah dibuat.

G. REFERENSI
• https://medium.com/@dede.brahma2/crawling-twitter-dengan-python-936934ea1b30
• https://medium.com/@yohan.ardiansyah90/web-scraping-with-python-in-indonesian-
e-commerce-tokopedia-part-1-getting-the-data-a338ebd56306
• https://www.scrapingbee.com/blog/crawling-python/
• https://sites.unpad.ac.id/widodo/2021/02/03/web-scrapping-dengan-python/
• https://www.teknologi-bigdata.com/2021/07/python-web-scraping-beautiful-soup-
pandas-dataframe.html

Anda mungkin juga menyukai