SlideShare a Scribd company logo
Web Scraping with PHP/CURL
Deddy Setyadi
Webbots
file(‘http://www.google.com’)
Seiring berkembangnya teknologi, fungsi pada php seperti file(), fopen(),
fgets(), tidak mampu menangani form submission, authentication, redirection,
dsb. Kemudian, dikembangkanlah sebuah library yang dinamakan cURL.
cURL Library
cURL library merupakan alat untuk melakukan transfer file dari webserver
ke remote komputer. Library yang mendukung berbagai macam internet
protokol ini mudah untuk dikonfigurasi, dan melayani berbagai macam
interaksi antara client-server.
libcurl
(Library untuk curl)
cURL Library
curl
(command line)
PHP/CURL
Modul yang ada pada PHP, sehingga PHP bisa
menggunakan fungsi-fungsi yang telah disediakan
cURL.
Mengoperasikan PHP/CURL
Inisiasi Sesi
Pengaturan
Eksekusi
Menutup Sesi
Inisiasi Sesi PHP/CURL
Sebelum menggunakan PHP/CURL,
inisiasi dulu dengan curl_init(), atau
curl_multi_init() jika URL lebih dari
satu, yang kemudian disimpan dalam
sebuah variabel.
Pengaturan PHP/CURL
Fungsi untuk mengkonfigurasi PHP/CURL
adalah curl_setopt(), atau
curl_setopt_array(), yang digunakan
untuk mengutak-atik sesi cURL dengan
berbagai opsi yang telah disediakan libcurl.
Boolean value
• CURLOPT_CONNECT_ONLY – Tidak ada data yang ditransfer
• CURLOPT_FILETIME – Dapat mengetahui tanggal modifikasi dokumen
• CURLOPT_HEADER – Header juga ikut ditransfer
• CURLOPT_POST – Untuk melakukan method POST
• CURLOPT_RETURNTRANSFER – Mengembalikan transfer sebagai string
• CURLOPT_SSL_VERIFYPEER – Jika target memiliki enkripsi SSL & HTTPS
• CURLOPT_FOLLOWLOCATION – Mengikuti redirect dari URL yang dituju.
Integer value
• CURLOPT_CONNECTTIMEOUT – Waktu tunggu saat menyambungkan ke URL.
• CURLOPT_RESUME_FROM – untuk melanjutkan sebuah transfer.
• CURLOPT_TIMEOUT – Batasan waktu untuk eksekusi cURL.
• CURLOPT_MAXREDIRS – Batasan maksimal redirect yang diperbolehkan.
String value
• CURLOPT_URL – URL yang akan diambil
• CURLOPT_USERAGENT – Konten “ User-Agent: ” header dalam HTTP request.
• CURLOPT_POSTFIELDS – data untuk setiap field dalam method POST
• CURLOPT_COOKIEJAR – File untuk menyimpan cookie saat sesi sudah ditutup.
• CURLOPT_REFERER - Konten “ Referer: ” header dalam HTTP request.
Eksekusi PHP/CURL
Dengan menggunakan curl_exec(), maka
PHP/CURL akan mengeksekusi seluruh
opsi yang telah diatur dalam curl_setopt().
Informasi dari Sesi PHP/CURL
Setiap sebuah curl_exec() dipanggil,
maka informasi pada saat sesi dieksekusi
juga tersedia. Untuk mengetahui informasi
tersebut, gunakan fungsi curl_getinfo().
Hasil dari curl_getinfo()
Menampilkan error dari Sesi PHP/CURL
Untuk menampilkan error, maka dapat memanggil fungsi
curl_error(). Fungsi ini akan menampilkan pesan error
untuk operasi PHP/CURL yang terakhir kali dijalankan.
Untuk lebih jelas mengenai pesan error yang dihasilkan
cURL, bisa membuka http://curl.haxx.se/libcurl/c/libcurl-
errors.html
Menutup Sesi PHP/CURL
Ketika sudah selesai menggunakan
PHP/CURL, maka sesegera mungkin untuk
menutup sesi cURL ini dengan memanggil
fungsi curl_close().
Demo
Referensi
• http://php.net/manual/en/ref.curl.php
• http://etelej.github.io/how-to-use-php-curl-basics/
• http://www.slideshare.net/teenmaxinfo/curl-php-bookv32
• Schrenk, Michael. 2012. Webbots, spiders, and screen scrapers : a guide to developing
internet agents with PHP/CURL. No Starch Press, Inc. Diakses 10 januari 2015, dari
libgen.info.
• Ward, Jacob. 2013. Instant PHP Web Scraping. Packt Publishing Ltd. Diakses 15 Januari
2015, dari libgen.info.
Udah.

More Related Content

DOCX
Perintah dasar linux ubuntu
DOCX
Perintah dasar linux ubuntu
DOCX
Tugas: Perintah dasar linux ubuntu ( 24/ 3 / 2014 )
DOCX
Perintah dasar linux ubuntu
PDF
DOCX
PDF
Cara instalasi aplikasi perpustakaan digital eprints
PDF
FreeBSD Database Server
Perintah dasar linux ubuntu
Perintah dasar linux ubuntu
Tugas: Perintah dasar linux ubuntu ( 24/ 3 / 2014 )
Perintah dasar linux ubuntu
Cara instalasi aplikasi perpustakaan digital eprints
FreeBSD Database Server

What's hot (20)

PDF
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
DOCX
Tugas 1 tkj (perintah dasar linux ubuntu)
PDF
Tugas Komputasi Paraller "Proses Penginstallan Hadoop
PDF
Perintah dsar linux
PPTX
50 Command linux
PPTX
Lima puluh perintah dasar linux
PPTX
Faujiah kharie tugas 2 so ii
PDF
Perintah dasar linux
ODP
Fungsi dan Cara Penggunaan Terminal (CLI, Gedit, dan VI Editor)
DOCX
100 perintah dasar linux
PDF
Dasar dasar perintah linux dan sistem derektory pada linux ok
DOC
Lapres 6 1235010002
PDF
My sql python_cherrypy
DOCX
DNS master slave
DOC
Lapres 4 dan 5 1235010002
PDF
Konfigurasi file sharing
DOCX
Pembahasansoallks2013
DOCX
Proses dan Manajemen Proses di Linux
PDF
Faujiah kharie tugas 2 so ii
TXT
cara install ubuntu server
Remastering Ubuntu 17.10 Dengan Ubuntu Customization Kit
Tugas 1 tkj (perintah dasar linux ubuntu)
Tugas Komputasi Paraller "Proses Penginstallan Hadoop
Perintah dsar linux
50 Command linux
Lima puluh perintah dasar linux
Faujiah kharie tugas 2 so ii
Perintah dasar linux
Fungsi dan Cara Penggunaan Terminal (CLI, Gedit, dan VI Editor)
100 perintah dasar linux
Dasar dasar perintah linux dan sistem derektory pada linux ok
Lapres 6 1235010002
My sql python_cherrypy
DNS master slave
Lapres 4 dan 5 1235010002
Konfigurasi file sharing
Pembahasansoallks2013
Proses dan Manajemen Proses di Linux
Faujiah kharie tugas 2 so ii
cara install ubuntu server
Ad

Viewers also liked (14)

PDF
Новые технологические решения - презентация
PPTX
Narrative theory
PPTX
Figure of speech.Edtech
DOCX
M4D Alumni Forum Empowered Women in Mining and Conference key speakers and pa...
PDF
Group 4 presentation
PDF
2015 Kimberly Hall Resume
PDF
BookazineBits Thursday June 25 2015
PDF
Big data summary_v2.1
PDF
EVALUACION DEL TERCER BLOQUE
PDF
BookazineBits Thursday August 13 2015
PDF
Outhwaite-Aaron-MASc-PEAS-August-2015
PDF
Loan deal presentation
PDF
Dynamic Eagle Company Profile 2
PPTX
regular and irregular verbs
Новые технологические решения - презентация
Narrative theory
Figure of speech.Edtech
M4D Alumni Forum Empowered Women in Mining and Conference key speakers and pa...
Group 4 presentation
2015 Kimberly Hall Resume
BookazineBits Thursday June 25 2015
Big data summary_v2.1
EVALUACION DEL TERCER BLOQUE
BookazineBits Thursday August 13 2015
Outhwaite-Aaron-MASc-PEAS-August-2015
Loan deal presentation
Dynamic Eagle Company Profile 2
regular and irregular verbs
Ad

Php curl

  • 1. Web Scraping with PHP/CURL Deddy Setyadi
  • 3. Seiring berkembangnya teknologi, fungsi pada php seperti file(), fopen(), fgets(), tidak mampu menangani form submission, authentication, redirection, dsb. Kemudian, dikembangkanlah sebuah library yang dinamakan cURL.
  • 4. cURL Library cURL library merupakan alat untuk melakukan transfer file dari webserver ke remote komputer. Library yang mendukung berbagai macam internet protokol ini mudah untuk dikonfigurasi, dan melayani berbagai macam interaksi antara client-server.
  • 5. libcurl (Library untuk curl) cURL Library curl (command line)
  • 6. PHP/CURL Modul yang ada pada PHP, sehingga PHP bisa menggunakan fungsi-fungsi yang telah disediakan cURL.
  • 8. Inisiasi Sesi PHP/CURL Sebelum menggunakan PHP/CURL, inisiasi dulu dengan curl_init(), atau curl_multi_init() jika URL lebih dari satu, yang kemudian disimpan dalam sebuah variabel.
  • 9. Pengaturan PHP/CURL Fungsi untuk mengkonfigurasi PHP/CURL adalah curl_setopt(), atau curl_setopt_array(), yang digunakan untuk mengutak-atik sesi cURL dengan berbagai opsi yang telah disediakan libcurl.
  • 10. Boolean value • CURLOPT_CONNECT_ONLY – Tidak ada data yang ditransfer • CURLOPT_FILETIME – Dapat mengetahui tanggal modifikasi dokumen • CURLOPT_HEADER – Header juga ikut ditransfer • CURLOPT_POST – Untuk melakukan method POST • CURLOPT_RETURNTRANSFER – Mengembalikan transfer sebagai string • CURLOPT_SSL_VERIFYPEER – Jika target memiliki enkripsi SSL & HTTPS • CURLOPT_FOLLOWLOCATION – Mengikuti redirect dari URL yang dituju.
  • 11. Integer value • CURLOPT_CONNECTTIMEOUT – Waktu tunggu saat menyambungkan ke URL. • CURLOPT_RESUME_FROM – untuk melanjutkan sebuah transfer. • CURLOPT_TIMEOUT – Batasan waktu untuk eksekusi cURL. • CURLOPT_MAXREDIRS – Batasan maksimal redirect yang diperbolehkan.
  • 12. String value • CURLOPT_URL – URL yang akan diambil • CURLOPT_USERAGENT – Konten “ User-Agent: ” header dalam HTTP request. • CURLOPT_POSTFIELDS – data untuk setiap field dalam method POST • CURLOPT_COOKIEJAR – File untuk menyimpan cookie saat sesi sudah ditutup. • CURLOPT_REFERER - Konten “ Referer: ” header dalam HTTP request.
  • 13. Eksekusi PHP/CURL Dengan menggunakan curl_exec(), maka PHP/CURL akan mengeksekusi seluruh opsi yang telah diatur dalam curl_setopt().
  • 14. Informasi dari Sesi PHP/CURL Setiap sebuah curl_exec() dipanggil, maka informasi pada saat sesi dieksekusi juga tersedia. Untuk mengetahui informasi tersebut, gunakan fungsi curl_getinfo().
  • 16. Menampilkan error dari Sesi PHP/CURL Untuk menampilkan error, maka dapat memanggil fungsi curl_error(). Fungsi ini akan menampilkan pesan error untuk operasi PHP/CURL yang terakhir kali dijalankan. Untuk lebih jelas mengenai pesan error yang dihasilkan cURL, bisa membuka http://curl.haxx.se/libcurl/c/libcurl- errors.html
  • 17. Menutup Sesi PHP/CURL Ketika sudah selesai menggunakan PHP/CURL, maka sesegera mungkin untuk menutup sesi cURL ini dengan memanggil fungsi curl_close().
  • 18. Demo
  • 19. Referensi • http://php.net/manual/en/ref.curl.php • http://etelej.github.io/how-to-use-php-curl-basics/ • http://www.slideshare.net/teenmaxinfo/curl-php-bookv32 • Schrenk, Michael. 2012. Webbots, spiders, and screen scrapers : a guide to developing internet agents with PHP/CURL. No Starch Press, Inc. Diakses 10 januari 2015, dari libgen.info. • Ward, Jacob. 2013. Instant PHP Web Scraping. Packt Publishing Ltd. Diakses 15 Januari 2015, dari libgen.info.
  • 20. Udah.