Home | Register | Lupa Password | NEWS :


DIPANEGARA COMPUTER CLUB
BTN Antara Blok C10 No. 2, Makassar

Tidak ada agenda untuk kegiatan

DCCHeader BiruIndahnya Kebersamaan
Python | Web Scraping & Parsing/Screen Scraping Web Pages
Python | Web Scraping & Parsing/Screen Scraping Web Pages
Oleh: ppyton | Sabtu, 26 November 2011 | 0 Komentar Kategori: Tutorial View 9207

Python | Web Scraping & Parsing/Screen Scraping Web Pages

Halo teman teman back lagi bersama penulis . Ya banyak sekali teknik-teknik untuk membuat sebuah program yang dapat berinteraksi dengan sebuah website . ya kali ini si penulis ingin share bagaimana cara membuat aplikasi-aplikasi web scraping & parsing/screen scraping pada sebuah web page untuk mendapatkan informasi dalam sebuah halaman website . Ada tiga cara untuk mengakses data di situs web. Salah satunya adalah melalui browser, yang lain adalah menggunakan API (jika situs tersebut menyediakan API) dan yang terakhir dengan parsing halaman web melalui kode-kode. Yang terakhir juga dikenal sebagai Web Scraping adalah teknik penggalian informasi dari situs menggunakan program atau kode khusus.


Apa itu Web Scraping ??
Web Scraping atau juga biasa di sebut (web harvesting atau web data extraction) mengekstrack seluruh isi data dari sebuah page website.
yang di mana data itu berupah kumpulan-kumpulan kode html,javascript,css,dll .contoh yah pada saat kalian membuka sebuah site kalian bisa menclick kanan pada page tersebut dan klick pada views source maka kalian akan melihat kumpulan-kumpulan kode pada page website tersebut nah ini lah data data yang di extrack.Nah trus apa gunanya ?? yah gunanya sangat banyak . kita bisa membuat web crawler,database scrap technique,web spider,dll contoh umum ini adalah salah satu konsep dalam membangun sebuah website search engine.wahh tapi sangat tidak jelas yah kode-kodenya terhambur bikin sakit mata . nah tenang kita akan mengenal yang namanya parsing html atau biasa di sebut screen scraping .   
 
Apa itu Parsing/Parse Html/Sc ?
Parse html adalah suatu teknik untuk memisahkan suatu teks dari tag2 code-code html pada halaman website .atau juga yang biasa di sebut Screen Scraper yaitu teknik untuk mengambil isi sebuah halaman web secara spesifik, misalnya link gambar, isi berita atau sejenisnya. Bahkan kita bisa mengambil file misalnya file jpg, gif dan sebagainya.
 
Screen scraping berarti membaca isi dari sebuah halaman web. Misalkan kita ingin melihat situs yahoo.com, ap ayang kita lihat adalah tampilan yang di dalamnya berisi tombol, links, images, dan lain sebagainya. Apa yang kita tidak lihat disitu adalah target url dari link, nama dari images, method yang digunakan oleh tombol yang mungkin POST atau GET. Dengan kata lain, kita tidak melihat HTML dibelakang halamannya. Screen scraping akan mengumpulkan HTML dari suatu halaman web. HTML ini termasuk semua tag HTML yang dibutuhkan untuk membentuk suatu halaman web.

kadang juga kita ingin mengunjungi sebuah situs yang di dalamnya memiliki begitu banyak image, katakanlah image1, image2, image3, image4, dan lainnya. Untuk melihat image itu, maka kita harus klik satu persatu dari linknya. Capek ya. Hehehe. Daripada klik satu persatu seperti itu, lebih baik gunakan saja teknik screen scraping ini dimana kita nantinya dapat mengumpulkan tag-tag HTML ini pada suatu halaman web sekaligus juga menampilkannya.

  Dalam Python modul yang kita gunakan Adalah:
- urllib2 (modul untuk menghandle url request)  
- BeatifulSoup (modul untuk memparsing HTML/XML  

Nah untuk pertama - tama mari kita mulai dengan script berikut untuk merequest source code HTML dari halaman web tertentu:

-------------------------------------------------
#!/usr/bin/python
import urllib2 ##-->modul urllib2 untuk menghandle url request

page = urllib2.urlopen('http://dcc-dp.org/beranda') ##-->request URL yang dimana urlnya adalah dcc-dp.org , dan simpan pada variabel 'page'
htmlcode_page = page.read()  ##-->membaca keseluruhan string dari 'page' dan simpan pada variabel 'htmlcode_page'

print htmlcode_page
--------------------------------------------------
save file as .py sy asumsikan di sini (scraper.py) dan jalankan dengan perintah $ python file.py
hasil dari eksekusi tersebut akan menampilkan source code HTML dari halaman index site http://dcc-dp.org/beranda(tidak akan penulis view isinya, karena bisa membuat mata sakit dan pemborosan halaman.Nah pada code di atas kita sudah melakukan yang namanya teknik web scraper atau biasa di sebut web harvesting atau web data extraction. Mudah bukan !! :D nah step berikutnya kita akan memparsing HTML tersebut dengan mengunakan modul beautifullsoup.yang dimana module/lib beautifullsoup sendiri ini memungkinkan kita melakukan HTML/XML parser pada python.

tambahkan baris dibawah pada script scraper.py sebelumnya:
---------------------------------------------------------
from BeautifulSoup ##--> import modul HTML/XML parsing
HTMLdump = BeautifulSoup.BeautifulSoup(HTMLpage) ##-->Parsing page
print HTMLdump.title.string ##--> cetak string dari judul page site
-------------------------------------------------------

sebaiknya hapus terlebih dahulu
---------------------
print HTMLpage
--------------------
# pada baris script sebelumnya agar tidak menampilkan semua isi source code.

Maka code keseluruhannya akan seperti ini :

------------------------------------------
#!/usr/bin/python
import urllib2 ##-->modul urllib2 untuk menghandle url request
import BeautifulSoup ##-->import modul HTML/XML parsing

page = urllib2.urlopen('http://dcc-dp.org/beranda') ##-->request URL yang dimana urlnya adalah dcc-dp.org , dan simpan pada variabel 'page'
htmlcode_page = page.read()  ##-->membaca keseluruhan string dari 'page' dan simpan pada variabel 'htmlcode_page'

dump_isihtml = BeautifulSoup.BeautifulSoup(htmlcode_page) ##-->Parsing page
print dump_isihtml.title.string ##--> cetak string dari judul page site

------------------------------------------
eksekusi kembali script tersebut, maka hasil outputny akan seperti ini:

OUTPUT : Dipanegara Computer Club - OFFCIAL WEBSITE

sederhana, karena kita hanya ingin menampilkan title dari halaman site, berikutnya kita ingin menampilkan semua link yang terdapat pada site tersebut. tambahkan baris ini pada script sebelumnya:

----------------------------------------------
Links = dump_isihtml.findAll("a", {"href": True})  ##-->ambil tag a href
leng = len(Links)   ##-->hitung banyaknya elemen pada Links
count = 0   ##-->counter
while count < leng:     ##-->perulangan untuk menulis link dari href selama counter kurang dari banyaknya link
    print Links[count]["href"]  ##--> cetak link URL
    count += 1  ##--> increment
    
----------------------------------------------

sehingga script lengkapnya akan seperti ini .

--------------------------------------------
#!/usr/bin/python
import urllib2 ##-->modul urllib2 untuk menghandle url request
import BeautifulSoup ##-->import modul HTML/XML parsing

page = urllib2.urlopen('http://dcc-dp.org/beranda') ##-->request URL yang dimana urlnya adalah dcc-dp.org , dan simpan pada variabel 'page'
htmlcode_page = page.read()  ##-->membaca keseluruhan string dari 'page' dan simpan pada variabel 'htmlcode_page'

dump_isihtml = BeautifulSoup.BeautifulSoup(htmlcode_page) ##-->Parsing page
print dump_isihtml.title.string ##--> cetak string dari judul page site

Links = dump_isihtml.findAll("a", {"href": True})  ##-->ambil tag a href
leng = len(Links)   ##-->hitung banyaknya elemen pada Links
count = 0   ##-->counter
while count < leng:     ##-->perulangan untuk menulis link dari href selama counter kurang dari banyaknya link
    print Links[count]["href"]  ##--> cetak link URL
    count += 1  ##--> increment
---------------------------------------------

 
Eksekusi kembali codenya maka hasilnya adalah semua link2 pada website dcc-dp.org akan di tampilkan:

---------------------------------------------
jimmyromanticdevil@jimmyromanticdevil:~$ python scraper.py
Dipanegara Computer Club - OFFCIAL WEBSITE
beranda
register.html
lupa-password.html
berita115-intruduce-python-programming-language.html
berita114-mengapa-harus-belajar-net.html
berita113-video-demo-android-40-pada-asus-transformer-prime-muncul-dengan-3d-yang-oke.html
berita111-inilah-bocah-penganti-steve-jobs.html
berita110-2-juta-lagu-bajakan-diunduh-setiap-hari-.html
beranda
struktur.html
anggota.html
kegiatan-kami.html
kategori-umum.html
kategori-teknologi.html
kategori-tutorial.html
kategori-pemrograman.html
album.html
hubungi-kami.html
http://apycom.com/
pendaftaran/daftar
img_galeri/89DSC04845.JPG
img_galeri/39DSC04901.JPG
img_galeri/93DSC04847.JPG
kategori-umum.html
kategori-teknologi.html
kategori-pemrograman.html
kategori-tutorial.html
http://www.dcc-dp.org
http://www.dcc-dp.org
http://blackmask.web.id
http://blackmask.web.id
http://www.dcc-dp.org
http://www.plurk.com/kingvist
http://www.plurk.com/kingvist
http://www.plurk.com/kingvist
http://www.plurk.com/ocha79
http://www.dcc-dp.org
http://
http://www.dcc-dp.org
http://www.dcc-dp.org
http://
http://www.dcc-dp.org
http://www.dcc-dp.org
http://
http://
http://www.dcc.dp.org
http://
#November 2011
#October 2011
#September 2011
#May 2011
http://Website Anda.....
http://www.dcc-dp.org
http://http://jimmyromanticdevil.wordpress.com
http://www.dcc-dp.org
http://ijalren.blogspot.com
http://twitter.com
http://zakia.aju@gmail.com
http://kupra.com
http://Tidakada.web.id
http://Website Anda.....
http://www.dcc-dp.org
http://ivancloverdipanegara@gmail.com
http://twitter.com
http://http://www.plurk.com/bundrankillank
http://
http://081523939025
http://http://www.hpterbaru.net/
http://
http://
http://programminginaction.blogspot.com
http://
http://zainalimranh@yahoo.com
http://http://www.plurk.com/abunawas17
http://sateparakank.blogspot.com
http://www.ipteknologi.com
http://risalrenleew.web.id
http://sateparakank.blogspot.com
http://dcc
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sateparakank.web.id
http://sate.com
http://www.facebook.com/groups/301843523967/
ymsgr:sendIM?parakank_adi
http://www.dipanegara.ac.id
http://www.ika-stmikdp.web.id
httP://www.kiwilstudio.com
http://griyagaya.co.cc
http://nugi.me/lokomedia/home
........ terlalu banyak maka penulis hanya akan mengambil sedikit output

simpel bukan?! ok untuk selanjutnya silahkan kalian bereksplore sendiri dan kl kalian kekurangan refresn silahkan cari di google kalian akan mendapatkan banyak tutorial. ok semogah berguna ..

Special thanks to my refrensi
Wikipedia 'web scraping,screen scraping,parsing html'
Crawling site mengunakan beautifullshoup by 5ynl0rd
  

berita terkait

0 KOMENTAR

KOMENTAR ANDA
Nama
Website/Email
Komentar
 
Captcha Sepakbola
Apakah anda manusia?Lebih baik lagi kalau anda menyukai sepak bola
Sebutkan pemain sepak bola disamping:

Captcha Sepakbola by codingwear
KATEGORI


POPULER
  


shoutmix
12 Mei 2012 | 10:39:21
kasi tahu gak yah :
apa kabar semua???
09 Mei 2012 | 15:41:47
TukangSedotWC :
08 Mei 2012 | 20:17:29
Patris :
haiiiii ka' sdh aku pasang bannerx tu, banner ku tolong d'pasang jga,http://patrisbluesky.blogspot.com/
08 Mei 2012 | 03:11:17
adi :
hy
08 Mei 2012 | 03:11:11
adi :
hy
05 Mei 2012 | 14:51:28
FRB :
03 Mei 2012 | 11:46:01
manny :
kangen basecamp...
02 Mei 2012 | 02:42:21
Muhammad Ikhsan HR :
21 April 2012 | 23:53:35
nine9 :
21 April 2012 | 15:55:28
Zuhry :
20 April 2012 | 22:46:41
ABIE :
20 April 2012 | 22:44:16
ABIE :
MALAM SMUA,,,APA KBAR
20 April 2012 | 12:33:05
onhe :
20 April 2012 | 12:32:48
onhe :
19 April 2012 | 17:05:38
gyn :
sapa deh... haii decece
14 April 2012 | 18:44:24
onhe :
13 April 2012 | 03:05:18
Anjaz :
09 April 2012 | 16:37:06
sate :
solusi yang mana mas..
09 April 2012 | 14:47:13
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
09 April 2012 | 14:47:04
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
Show Form Hide Form

Nama :

http://

Message :



   

09 April 2012
Share The Code With Programming
STMIK Dipanegara Makassar
12 Februari 2012
IT For The Bright Future
Semua Sekolah
07 Januari 2012
Seminar [Android Is Easy - From Beginner To Expert]
Gedung PKP Unhas (Universitas Hasanuddin) - Jl. Perintis Kemerdekaan KM.9



  • iPhone 4S Tebar Ancaman ke Rival

  • Memetik Pelajaran dari Ambisi "Angry Birds"

  • Aplikasi iPhone Remaja 16 Tahun Gaet Investasi Rp 2,2 Miliar

  • Orang yang Sering Buka Internet Cenderung Panjang Umur

  • Platform Java terbaru dari Oracle yang menjanjikan 7 Keuntungan

RAVIKA MAHARANI
ravika.maharani@yahoo.com
    0
    Berita
    CHAIRUL ANAS
    qlu_gaara@yahoo.co.id
    1
    Berita
    Huzain Azis
    traiteurs@yahoo.co.id
      0
      Berita


      INFORMASI
      512209
      Pengunjung hari ini : 207
      Total pengunjung : 40913
      Hits hari ini : 5589
      Total Hits : 512209
      Pengunjung Online: 7
      38.107.179.212

      GaleriFoto Dipanegara Computer Club - OFFCIAL WEBSITE

      FIND US:
      Facebook | Hubungi Kami | Home
      DCC | Created By Crew DCC | Copyright © 2011
      Inspirated Template by Kiwilstudo | Griyagaya | SandBOX | Best Performance : Firefox | Google Crome