Web scraping dengan Python : cuaca kota Wina

Ketika saya masih di Indonesia, Saya jarang sekali memeriksa temperatur udara. Setelah sampai Wina jadi sering memeriksa temperatur karena penasaran dengan temperatur yang terukur di cuaca musim semi tetapi terasa masih dingin dan masih bersalju. Kebetulan akhir-akhir ini sedang sering bermain dengan scraping (ekstraksi data dari dokumen web), akhirnya pada suatu malam sebelum tidur saya iseng membuat skrip untuk mendapat cuaca saat ini di kota Wina.

Saya menggunakan library beautifulsoup untuk mengurai isi dokumen HTML yang kemudian bisa diekstrak bagian tertentu (dalam hal ini adalah elemen DIV yang mencakup data temperatur). Elemen ini diketahui dari mengaktifkan panel “Inspect Element” di peramban Google Chrome (atau bisa juga dengan menampilkan kode sumber dari halaman aktif di peramban lain).

from urllib2 import urlopen
from BeautifulSoup import BeautifulSoup as BS

temps = [float(tag.string.replace(u"\xb0", '')) for tag in BS(urlopen("http://www.wetter.at/wetter/oesterreich/wien").read()).findAll("div", {"class": "temp"})]
if len(temps)>0: print "%0.2f C" % (sum(temps)/len(temps))

Data temperatur yang diberikan halaman tersebut merupakan data pengukuran temperatur di beberapa distrik kota. Karena saya hanya perlu tahu satu data saja sebagai gambaran umum temperatur kota maka saya menghitung rata-rata dari data tersebut.

Oya, tulisan ini juga sekalian untuk mencoba aggregator blog dari komunitas Python Indonesia. tampil tidak yaa..? tampil tidak yaa…?

2 comments

  1. za · Maret 28, 2013

    Ternyata belum keluar, Peb. Kurang /feed di URL-nya. Nanti ya.

  2. Jocelyn · Agustus 21, 2013

    Greate article. Keep writing such kind of info on your site.

    Im really impressed by your site.
    Hi there, You have done a fantastic job. I’ll definitely digg it and in my opinion recommend to my friends. I’m sure they’ll be benefited from this web site.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s