Pada artikel sebelumnya, kita telah belajar bagaimana cara kerja dari library BeautifulSoup pada python. Bagi yang belum membacanya silahkan menuju ke artikel di bawah ini:
Python: Web Scraping dengan BeautifulSoup (Pengantar)Kali ini kita akan melanjutkannya, yaitu bagaimana menghasilkan output tabel layaknya sebuah tabel. Maksudnya, mempunyai rows dan column. Agar lebih jelas, kita lihat kembali output pada artikel sebelumnya yaitu sebagai berikut:
$ python wikiTable.py Language Statements ratio[36] Lines ratio[37] C 1 1 C++ 2.5 1 Fortran 2 0.8 Java 2.5 1.5 Perl 6 6 Smalltalk 6 6.25 Python 6 6.5
Output yang dihasilkan sama sekali tidak terlihat seperti tabel bukan?
Baik, kita buka kembali file
wikiTable.py
dan edit seperti ini.
import urllib2 from bs4 import BeautifulSoup def wikiTable(): # Spesifikasikan alamat url: alamatURL = "https://en.wikipedia.org/wiki/Comparison_of_programming_languages" # Mengakses alamatURL page = urllib2.urlopen(alamatURL) # Memparse alamat diatas menggunakan parser: "html.parser" soup = BeautifulSoup(page, 'lxml') # Menemukan tabel yang menjadi target table = soup.find('table', id="Expressiveness")
Selanjutnya tambahkan beberapa baris kode di bawah ini:
# Menemukan table row dari tabel target: table_rows = table.find_all('tr') # Menemukan td dari setiap table rows: for tr in table_rows: td = tr.find_all('td') row = [i.text for i in td] print row
Sehingga kode lengkapnya adalah sebagai berikut:
Sekarang kita eksekusi dan lihat hasilnya.
$ python wikiTable.py [] [u'C', u'1', u'1'] [u'C++', u'2.5', u'1'] [u'Fortran', u'2', u'0.8'] [u'Java', u'2.5', u'1.5'] [u'Perl', u'6', u'6'] [u'Smalltalk', u'6', u'6.25'] [u'Python', u'6', u'6.5']
Penjelasan:
[ ] : pada bagian atas merupakan table head, jadi kosong karena kita hanya mengambil
"td"
, dan tidak mengambil "th"
pada baris kode:
td = tr.find_all('td')
Dari output tersebut dengan mudah kita dapat mengolahnya dengan sedikit bantuan perintah
replace
untuk menjadikannya dokumen CSV, menginsertnya ke dalam database MySQL dan lain-lain.
Yep, Thats it! python membuat semua pekerjaan menjadi mudah.
No comments:
Post a Comment
Silahkan gunakan nama asli dalam berkomentar. Profil unknown / anonim tidak akan di-approve! Terima kasih.