Top Banner
Access Open Data with Open Source Software Tools Sammy Fung [email protected]
51
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Access Open Data with Open Source Software Tools

Access Open Datawith Open Source

Software Tools

Sammy Fung

[email protected]

Page 2: Access Open Data with Open Source Software Tools

Sammy Fung

● Developer

● Founder, JobFOL

● President of Open Source Hong Kong

Page 3: Access Open Data with Open Source Software Tools

Creatingvalues to us

and community

Page 4: Access Open Data with Open Source Software Tools

Open Data

Page 5: Access Open Data with Open Source Software Tools

Open Data

● Discoverable

– Available and Searchable on Internet.

● Structured

– Open and Machine-readable Format.

● Unconditional

– Legal Framework allows to reproduce an repurposethe data.

Page 6: Access Open Data with Open Source Software Tools
Page 7: Access Open Data with Open Source Software Tools
Page 8: Access Open Data with Open Source Software Tools

Open Source

Page 9: Access Open Data with Open Source Software Tools

Open Source

● Software Development Model

● Free Software (1985)

– Free = Freedom

– Run the program (Freedom 0)

– Study the source code and change it (Freedom 1)

– Redistribute copies (Freeom 2)

– Distribute your modified version in same license (Freedom3)

● Open Source (1998)

Page 10: Access Open Data with Open Source Software Tools
Page 11: Access Open Data with Open Source Software Tools

Open Source Web ApplicationSoftware Stack

● LAMP

– Linux (1991): Operating System

– Apache (1995): Web Server

– MySQL (1995): Database Server

– PHP (1995): Server-side Scripting Language

● Other Alternatives:

– LNMP: Replacing Apache with Nginx

– Another M of LAMP: MariaDB, MongoDB

Page 12: Access Open Data with Open Source Software Tools

Python

● Programming Language

– Since 1991

– Widely used general purpose

– High-level

– Open Source

● Another P of LAMP

Page 13: Access Open Data with Open Source Software Tools
Page 14: Access Open Data with Open Source Software Tools
Page 15: Access Open Data with Open Source Software Tools
Page 16: Access Open Data with Open Source Software Tools
Page 17: Access Open Data with Open Source Software Tools
Page 18: Access Open Data with Open Source Software Tools
Page 19: Access Open Data with Open Source Software Tools
Page 20: Access Open Data with Open Source Software Tools

My Open Data related Projects

● TV Timetable of Live Football Matches (2004)

● Weather Information (2006)

● Public Transportation Information (2006)

● LegCo Vote Information (2013)

● Air Quality Information (2014)

● Restaurant Information (2014)

Page 21: Access Open Data with Open Source Software Tools
Page 22: Access Open Data with Open Source Software Tools

TCTrack

● Plot a map of typhoon path of different observationagencies

● Google Map API

– First Typhoon Map in HK using Google API

– Sammy.HK TCTrack → Weather Underground → Hong KongObservatory

● Twitter API

– Posting typhoon updates from any potential formation oftropcial cyclone in Northwest Pacific Ocean.

● Data Sources: HKO, JTWC.

Page 23: Access Open Data with Open Source Software Tools
Page 24: Access Open Data with Open Source Software Tools
Page 25: Access Open Data with Open Source Software Tools
Page 26: Access Open Data with Open Source Software Tools
Page 27: Access Open Data with Open Source Software Tools
Page 28: Access Open Data with Open Source Software Tools
Page 29: Access Open Data with Open Source Software Tools
Page 30: Access Open Data with Open Source Software Tools
Page 31: Access Open Data with Open Source Software Tools
Page 32: Access Open Data with Open Source Software Tools
Page 33: Access Open Data with Open Source Software Tools
Page 34: Access Open Data with Open Source Software Tools

Interview by MetroPop in 2009

Page 35: Access Open Data with Open Source Software Tools
Page 36: Access Open Data with Open Source Software Tools
Page 37: Access Open Data with Open Source Software Tools
Page 38: Access Open Data with Open Source Software Tools
Page 39: Access Open Data with Open Source Software Tools
Page 40: Access Open Data with Open Source Software Tools
Page 41: Access Open Data with Open Source Software Tools
Page 42: Access Open Data with Open Source Software Tools
Page 43: Access Open Data with Open Source Software Tools

Open Data onHong Kong

Restaurant &Food Licenses

Page 44: Access Open Data with Open Source Software Tools
Page 45: Access Open Data with Open Source Software Tools
Page 46: Access Open Data with Open Source Software Tools

Licensed Restaurants in Hong Kong

● Open Data from Data.One PSI

● Open Source Software Tools

– Python

– Scrapy Web Scraping Framework

● Source Codes are released on GitHub

– https://github.com/sammyfung/LP_Restaurants_Scrapy

Page 47: Access Open Data with Open Source Software Tools

Creating environment of a Scrapy project

● Requirements

– Python, Python-Dev, virtualenv, pip

● Creating a virtual enviornment for pythonproject

– virtualenv ~/env

– source ~/env/bin/activate

– pip install scrapy

Page 48: Access Open Data with Open Source Software Tools

Creating a Scrapy project

● Creating a new Scrapy project with spider

– scrapy startproject LP_Restaurants_Scrapy

– cd LP_Restaurants_Scrapy

– scrapy genspider rlxml fehd.gov.hk

● Creating a scrapy data model

● Doing some tests with scrapy shell.

– scrapy shell <URL>

– http://www.fehd.gov.hk/english/licensing/license/text/LP_Restaurants_EN.XML

● Writing the parse function of a scrapy spider.

● Try and test the spider

– scrapy crawl rlxml -t json -o restaurant_licenses.json

Page 49: Access Open Data with Open Source Software Tools

Open Data

Page 50: Access Open Data with Open Source Software Tools

Open Source

Page 51: Access Open Data with Open Source Software Tools

Creatingvalues to us

and community