DIPANEGARA COMPUTER CLUB
BTN Antara Blok C10 No. 2, Makassar
BTN Antara Blok C10 No. 2, Makassar
Tidak ada agenda untuk kegiatan
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
KATEGORI
- UMUM (56)
- TEKNOLOGI (129)
- PEMROGRAMAN (19)
- TUTORIAL (12)
POPULER
shoutmix
12 Mei 2012 | 10:39:21 |
| kasi tahu gak yah : |
09 Mei 2012 | 15:41:47 |
| TukangSedotWC : |
08 Mei 2012 | 20:17:29 |
| Patris : |
08 Mei 2012 | 03:11:17 |
| adi : |
08 Mei 2012 | 03:11:11 |
| adi : |
05 Mei 2012 | 14:51:28 |
| FRB : |
03 Mei 2012 | 11:46:01 |
| manny : |
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 : |
20 April 2012 | 12:33:05 |
| onhe : |
20 April 2012 | 12:32:48 |
| onhe : |
19 April 2012 | 17:05:38 |
| gyn : |
14 April 2012 | 18:44:24 |
| onhe : |
13 April 2012 | 03:05:18 |
| Anjaz : |
09 April 2012 | 16:37:06 |
| sate : |
09 April 2012 | 14:47:13 |
| panoel_laaros : |
09 April 2012 | 14:47:04 |
| panoel_laaros : |
![]() |
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 |
| 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
![]() ![]() ![]() ![]() ![]() ![]() |
|
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








11 Februari 2012






















Pengunjung hari ini
Total pengunjung
Hits hari ini
Total Hits
Pengunjung Online: 7




