SlideShare a Scribd company logo
Build a Web Scraper with Angular 2 & GO
17 Nov 2016 @ Balai Kartini
Sigit Prayoga
Sigit Prayoga.
Initiator of JLP
People Development Manager @ Obortech
Just about 6 years experience.
Worked onsite with TiVo, Best Buy, JC Penney
& JPMC.
gh: @sigit-prayoga
[DEMO]
Simple, huh?
1.Bootstrap Angular 2 App with angular-
cli
2. Create http request di Angular 2
3. Create a RESTful API
4. Web Scraping with GoQuery
5. Build and run GO
1. Bootstrap Angular 2 App with angular-cli
2. Create http request di Angular 2
3. Create a RESTful API
4. Web Scraping with GoQuery
5. Build and run GO
In common practice what do we need?
Database || Open API
Database
[{
“name”:”iPhone 7 White 128 GB”,
“description”:”lorem ipsum
lorem”,
“categories”:[cat1, cat2, cat3,
cat4]
},
{
“Name”:”lemari baju”,
“description”:”lorem ipsum
lorem”,
“categories”:[cat1, cat2, cat3,
cat4]
},
{
“Name”:”sepatu lari”,
“description”:”lorem ipsum
lorem”,
“categories”:[cat1, cat2, cat3,
cat4]
}]
Frontend Backend Database
So, let’s input all products then?
OPEN API
Application Program Interface
Open for public usage?
No database, No open API?!
No worries
Let’s scrap this sh*t!
Note: Only for sharing purpose. More research
required about the legality before you really want to
do this.
What is web scraping?
How about searching category?
[..SEE THE CODE..]
https://github.com/sigit-prayoga/web-scraper-angular2
Questions?
"Build A Web Scraper With GO & Angular2" by Sigit Prayoga (JLP Community)
"Build A Web Scraper With GO & Angular2" by Sigit Prayoga (JLP Community)

More Related Content

Viewers also liked

PinMyPet Pitch Deck
PinMyPet Pitch DeckPinMyPet Pitch Deck
PinMyPet Pitch Deck
Tech in Asia ID
 
Growth Hacking by Samuel Chan (CEO of HyperGrowth)
Growth Hacking by Samuel Chan (CEO of HyperGrowth)Growth Hacking by Samuel Chan (CEO of HyperGrowth)
Growth Hacking by Samuel Chan (CEO of HyperGrowth)
Tech in Asia ID
 
You Can Be a User Advocate by Devita Mira (Bukalapak)
You Can Be a User Advocate by Devita Mira (Bukalapak)You Can Be a User Advocate by Devita Mira (Bukalapak)
You Can Be a User Advocate by Devita Mira (Bukalapak)
Tech in Asia ID
 
Ooomf (Crew) Pitch Deck
Ooomf (Crew) Pitch DeckOoomf (Crew) Pitch Deck
Ooomf (Crew) Pitch Deck
Tech in Asia ID
 
Gametalk #3 Show Case : Get Wrecked
Gametalk #3 Show Case : Get WreckedGametalk #3 Show Case : Get Wrecked
Gametalk #3 Show Case : Get Wrecked
Tech in Asia ID
 
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
Tech in Asia ID
 
CMS ASSISTANCE_brochure
CMS ASSISTANCE_brochureCMS ASSISTANCE_brochure
CMS ASSISTANCE_brochureCMS Assistance
 
The PhotoShelter Photographer's Guide to Facebook
The PhotoShelter Photographer's Guide to FacebookThe PhotoShelter Photographer's Guide to Facebook
The PhotoShelter Photographer's Guide to Facebook
Daniel Ross
 
How to become an effective web searcher
How to become an effective web searcherHow to become an effective web searcher
How to become an effective web searcherrangak
 
Kudo Codefest: Serving millions of top e-commerce products in one app
Kudo Codefest: Serving millions of top e-commerce products in one appKudo Codefest: Serving millions of top e-commerce products in one app
Kudo Codefest: Serving millions of top e-commerce products in one app
Kudo Developers
 
Instagram Best Practices Guide
Instagram Best Practices GuideInstagram Best Practices Guide
Instagram Best Practices Guide
Liz DeMeo
 
Google searching techniques
Google searching techniquesGoogle searching techniques
Google searching techniquessawarkar17
 
Difusión académica
Difusión académicaDifusión académica
Difusión académica
Brenda Cecilia Padilla Rodríguez
 

Viewers also liked (14)

PinMyPet Pitch Deck
PinMyPet Pitch DeckPinMyPet Pitch Deck
PinMyPet Pitch Deck
 
Growth Hacking by Samuel Chan (CEO of HyperGrowth)
Growth Hacking by Samuel Chan (CEO of HyperGrowth)Growth Hacking by Samuel Chan (CEO of HyperGrowth)
Growth Hacking by Samuel Chan (CEO of HyperGrowth)
 
You Can Be a User Advocate by Devita Mira (Bukalapak)
You Can Be a User Advocate by Devita Mira (Bukalapak)You Can Be a User Advocate by Devita Mira (Bukalapak)
You Can Be a User Advocate by Devita Mira (Bukalapak)
 
Ooomf (Crew) Pitch Deck
Ooomf (Crew) Pitch DeckOoomf (Crew) Pitch Deck
Ooomf (Crew) Pitch Deck
 
Gametalk #3 Show Case : Get Wrecked
Gametalk #3 Show Case : Get WreckedGametalk #3 Show Case : Get Wrecked
Gametalk #3 Show Case : Get Wrecked
 
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
 
CMS ASSISTANCE_brochure
CMS ASSISTANCE_brochureCMS ASSISTANCE_brochure
CMS ASSISTANCE_brochure
 
The PhotoShelter Photographer's Guide to Facebook
The PhotoShelter Photographer's Guide to FacebookThe PhotoShelter Photographer's Guide to Facebook
The PhotoShelter Photographer's Guide to Facebook
 
Google search tips
Google search tipsGoogle search tips
Google search tips
 
How to become an effective web searcher
How to become an effective web searcherHow to become an effective web searcher
How to become an effective web searcher
 
Kudo Codefest: Serving millions of top e-commerce products in one app
Kudo Codefest: Serving millions of top e-commerce products in one appKudo Codefest: Serving millions of top e-commerce products in one app
Kudo Codefest: Serving millions of top e-commerce products in one app
 
Instagram Best Practices Guide
Instagram Best Practices GuideInstagram Best Practices Guide
Instagram Best Practices Guide
 
Google searching techniques
Google searching techniquesGoogle searching techniques
Google searching techniques
 
Difusión académica
Difusión académicaDifusión académica
Difusión académica
 

Similar to "Build A Web Scraper With GO & Angular2" by Sigit Prayoga (JLP Community)

SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOsSearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
Distilled
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
Onely
 
Performance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend LondonPerformance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend London
thomas alisi
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Hafiz Ismail
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
SmartBear
 
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
Paul Lam
 
Google Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended HanoiGoogle Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended Hanoi
GCPUserGroupVietnam
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview
AI.academy
 
TechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEOTechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEO
Catalyst
 
Generative AI Study Group_2ndSesssion_20230620.pdf
Generative AI Study Group_2ndSesssion_20230620.pdfGenerative AI Study Group_2ndSesssion_20230620.pdf
Generative AI Study Group_2ndSesssion_20230620.pdf
KunihiroSugiyama1
 
JHipster, modern web application development made easy
JHipster, modern web application development made easyJHipster, modern web application development made easy
JHipster, modern web application development made easy
Raphaël Brugier
 
The Technical Seo Renaissance - Mike King
 The Technical Seo Renaissance - Mike King   The Technical Seo Renaissance - Mike King
The Technical Seo Renaissance - Mike King
Glen Dimaandal
 
Best of brew city presentation final
Best of brew city presentation finalBest of brew city presentation final
Best of brew city presentation finalEzekiel Chentnik
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
John McCaffrey
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
Onely
 
From Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
From Selenium to Appium: How Hard Can It Be? by Sergio Neves BarrosFrom Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
From Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
Sauce Labs
 
All about Front End - Girl Code @ ANWB
All about Front End - Girl Code @ ANWBAll about Front End - Girl Code @ ANWB
All about Front End - Girl Code @ ANWB
Ineke Scheffers
 
Angular js How, What & Why - MetaRefresh 2014
Angular js How, What & Why - MetaRefresh 2014Angular js How, What & Why - MetaRefresh 2014
Angular js How, What & Why - MetaRefresh 2014
shyamsesh
 
How ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in PopularityHow ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in Popularity
Postman
 
Create responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSCreate responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJS
Hannes Hapke
 

Similar to "Build A Web Scraper With GO & Angular2" by Sigit Prayoga (JLP Community) (20)

SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOsSearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
Performance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend LondonPerformance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend London
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 
Developing Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & PythonDeveloping Brilliant and Powerful APIs in Ruby & Python
Developing Brilliant and Powerful APIs in Ruby & Python
 
Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)Yet another startup built on Clojure(Script)
Yet another startup built on Clojure(Script)
 
Google Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended HanoiGoogle Cloud: Next'19 Extended Hanoi
Google Cloud: Next'19 Extended Hanoi
 
Google Assistant Overview
Google Assistant Overview  Google Assistant Overview
Google Assistant Overview
 
TechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEOTechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEO
 
Generative AI Study Group_2ndSesssion_20230620.pdf
Generative AI Study Group_2ndSesssion_20230620.pdfGenerative AI Study Group_2ndSesssion_20230620.pdf
Generative AI Study Group_2ndSesssion_20230620.pdf
 
JHipster, modern web application development made easy
JHipster, modern web application development made easyJHipster, modern web application development made easy
JHipster, modern web application development made easy
 
The Technical Seo Renaissance - Mike King
 The Technical Seo Renaissance - Mike King   The Technical Seo Renaissance - Mike King
The Technical Seo Renaissance - Mike King
 
Best of brew city presentation final
Best of brew city presentation finalBest of brew city presentation final
Best of brew city presentation final
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
 
From Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
From Selenium to Appium: How Hard Can It Be? by Sergio Neves BarrosFrom Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
From Selenium to Appium: How Hard Can It Be? by Sergio Neves Barros
 
All about Front End - Girl Code @ ANWB
All about Front End - Girl Code @ ANWBAll about Front End - Girl Code @ ANWB
All about Front End - Girl Code @ ANWB
 
Angular js How, What & Why - MetaRefresh 2014
Angular js How, What & Why - MetaRefresh 2014Angular js How, What & Why - MetaRefresh 2014
Angular js How, What & Why - MetaRefresh 2014
 
How ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in PopularityHow ChatGPT led OpenAPI's Recent Spike in Popularity
How ChatGPT led OpenAPI's Recent Spike in Popularity
 
Create responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSCreate responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJS
 

More from Tech in Asia ID

Sesi Tech in Asia PDC'21.pdf
Sesi Tech in Asia PDC'21.pdfSesi Tech in Asia PDC'21.pdf
Sesi Tech in Asia PDC'21.pdf
Tech in Asia ID
 
"ILO's Work on Skills Development" by Project Coordinators International Labo...
"ILO's Work on Skills Development" by Project Coordinators International Labo..."ILO's Work on Skills Development" by Project Coordinators International Labo...
"ILO's Work on Skills Development" by Project Coordinators International Labo...
Tech in Asia ID
 
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di..."Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
Tech in Asia ID
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
Tech in Asia ID
 
LinkedIn Pitch Deck
LinkedIn Pitch DeckLinkedIn Pitch Deck
LinkedIn Pitch Deck
Tech in Asia ID
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
Tech in Asia ID
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
Tech in Asia ID
 
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
Tech in Asia ID
 
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
Tech in Asia ID
 
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
Tech in Asia ID
 
"Making Data Actionable" by Budiman Rusly (KMK Online)
"Making Data Actionable" by Budiman Rusly (KMK Online)"Making Data Actionable" by Budiman Rusly (KMK Online)
"Making Data Actionable" by Budiman Rusly (KMK Online)
Tech in Asia ID
 
"DOKU under the hood : Infrastructure and Cloud Services Technology" by M. T...
"DOKU under the hood :  Infrastructure and Cloud Services Technology" by M. T..."DOKU under the hood :  Infrastructure and Cloud Services Technology" by M. T...
"DOKU under the hood : Infrastructure and Cloud Services Technology" by M. T...
Tech in Asia ID
 
Citcall : Real-Time User Verification with Missed-Call Based OTP
Citcall : Real-Time User Verification with Missed-Call Based OTPCitcall : Real-Time User Verification with Missed-Call Based OTP
Citcall : Real-Time User Verification with Missed-Call Based OTP
Tech in Asia ID
 
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
Tech in Asia ID
 
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
Tech in Asia ID
 
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
Tech in Asia ID
 
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
Tech in Asia ID
 
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
Tech in Asia ID
 
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
Tech in Asia ID
 
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
Tech in Asia ID
 

More from Tech in Asia ID (20)

Sesi Tech in Asia PDC'21.pdf
Sesi Tech in Asia PDC'21.pdfSesi Tech in Asia PDC'21.pdf
Sesi Tech in Asia PDC'21.pdf
 
"ILO's Work on Skills Development" by Project Coordinators International Labo...
"ILO's Work on Skills Development" by Project Coordinators International Labo..."ILO's Work on Skills Development" by Project Coordinators International Labo...
"ILO's Work on Skills Development" by Project Coordinators International Labo...
 
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di..."Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
"Women in STEM: Leveraging Talent in ICT Sector" by Maya Juwita (Executive Di...
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Ketiga Tahun 2018
 
LinkedIn Pitch Deck
LinkedIn Pitch DeckLinkedIn Pitch Deck
LinkedIn Pitch Deck
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Kedua Tahun 2018
 
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
Laporan Kondisi Pendanaan Startup di Indonesia Kuartal Pertama Tahun 2018
 
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
Laporan Kondisi Pendanaan Startup di Indonesia Tahun 2017
 
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
"Less Painful iOS Development" by Samuel Edwin (Tokopedia)
 
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
"Product Development Story Loket.com" by Aruna Laksana (Loket.com)
 
"Making Data Actionable" by Budiman Rusly (KMK Online)
"Making Data Actionable" by Budiman Rusly (KMK Online)"Making Data Actionable" by Budiman Rusly (KMK Online)
"Making Data Actionable" by Budiman Rusly (KMK Online)
 
"DOKU under the hood : Infrastructure and Cloud Services Technology" by M. T...
"DOKU under the hood :  Infrastructure and Cloud Services Technology" by M. T..."DOKU under the hood :  Infrastructure and Cloud Services Technology" by M. T...
"DOKU under the hood : Infrastructure and Cloud Services Technology" by M. T...
 
Citcall : Real-Time User Verification with Missed-Call Based OTP
Citcall : Real-Time User Verification with Missed-Call Based OTPCitcall : Real-Time User Verification with Missed-Call Based OTP
Citcall : Real-Time User Verification with Missed-Call Based OTP
 
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
"Functional Programming in a Nutshell" by Adityo Pratomo (Froyo Framework)
 
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
"Building High Performance Search Feature" by Setyo Legowo (UrbanIndo)
 
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
"Building Effective Developer-Designer Relationships" by Ifnu Bima (Blibli.com)
 
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
"Data Informed vs Data Driven" by Casper Sermsuksan (Kulina)
 
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
"Planning Your Analytics Implementation" by Bachtiar Rifai (Kofera Technology)
 
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
"How To Build and Lead a Winning Data Team" by Cahyo Listyanto (Bizzy.co.id)
 
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
"How Scrum Motivates People" by Rudy Rahadian (XL Axiata)
 

Recently uploaded

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 

"Build A Web Scraper With GO & Angular2" by Sigit Prayoga (JLP Community)

Editor's Notes

  1. Hallo temen2, apa kabar? Baik ya, anyone can not speak Bahasa? Bear with me, slides will help you.
  2. Perkenalkan nama saya Sigit prayoga sebagai JLP community Initiator dan juga People development manager di Obortech. Pengalaman BARU 6 tahun sebagai software engineer. Pernah mendapat kesempatan untuk jadi coach dan onsite engineer di beberapa perusahaan ini di US
  3. Hari ini kita mau bahas apa sih, udh ada yg tau belum? Web app sederhana yang dapat menentukan kategori terhadap benda apapun yang kita masukan ke dalam input field. Mari kita lihat sedikit aplikasinya
  4. Simple kan? Pada kasus tadi, kira2 core element penting apa ya harus kita punya? Sebelum menjawab pertanyaan tersebut, mari kita lihat apa yg akan temen2 dapetin di talk kali ini.
  5. Yang pertama adalah bagaimana bootstrap Angular 2 application menggunakan angular-cli
  6. Yang kedua bikin get call with http di angular 2
  7. Ketiga, bikin endpoint di backendnya which is menggunakan GO
  8. Ke empat, gimana caranya nge-scrap dengan tools tambahan dari go yaitu goquery
  9. Yang terakhir build dan run go nya
  10. Let’s recap!
  11. OK, Kembali ke pokok pembahasan. Dalam kasus simple app seperti itu, kira2 apa sih yang “biasa” dibutuhkan untuk achieve that kind of functionality? Frontend udah pasti, tinggal backend nya nih gmn?
  12. Ada 2, database dan atau some other app’s open API
  13. Coba kita lihat dari database, again, kira2 gimana bentuk database nya sih?
  14. The simplest one is like this, right? Kita punya bentuk seperti ini, simply cari apapun yang diterima dari frontend trus search by ‘name’ or ‘description’ nya, trus return deh related categoriesnya. Got it?
  15. Okay, jadi kita harus melakukan ini kan? Let’s do it!
  16. Are you nuts? Mau input berapa ratus ribu barang? Efektif? Tentu tidak.
  17. Let’s move on, ke opsi yang kedua. Open API? Dari mana?
  18. Yang paling memungkinkan adalah ini semua (dan semacamnya yang tidak bisa di mention satu2, you know, too many :)) Mereka udah pasti memiliki data2 tersebut, bahkan jauh lebih complex.
  19. So kalo gitu kita call API nya mereka aja!
  20. Really? (that’s their golden revenue source, big data) dan kita nyomot gitu aja?
  21. hmmmmmm
  22. Okay, mulai agak ribet nih! Jadi gimana git?! No database, No Open API?
  23. Jawabannya adalah no worries. Soooo?
  24. Okay kita SCRAP AJA! Oops jangan lupa ada notenya tuh
  25. Apaan sih web scraping?
  26. Yuk kita liat ecommerce “kecil” ini. See the red blocks! Sebelah kiri kita lihat ada harga yang kita butuhkan, for example, for this projector. Nah kita kalo inspect element, kita bisa lihat di sebelah kanan atas, ada span dengan menggunakan ID, yowes kita ambil aja, hasilnya ada di kanan bawah. Begitu jg kalo mau ambil attribute yang lain. Clear?
  27. Nah kasus kita tadi, bukan ambil harganya, tapi menentukan kategori apa sih dari product itu.
  28. Nah, ini part yang paling menarik? Ada yang tau ini ecommerce apa? Ada developer yang bersangkutan, salam sama Zaky, maaf gitu, ga ada maksud. Cuma use case buat sharing session ini. Hehhee Yuk kita perhatiin red blocks nya, kalo kalian masukin apapun di kategori input dan hit enter, maka akan keluar product2 yang bersangkutan. Dan sebelah kiri, akan muncul kategori yang paling related sampe yang paling tidak related. One more thing, URL nya liat! Perhatikan sama next slide,
  29. Got it? One more time.
  30. Nah berarti kalo kita masukin barang apapun, kita aku letakkan itu di ujung URL nya. Maka akan keluar page yang sama kalo kaliat dateng langsung ke website bukalapak.
  31. It’s getting techie now! Ready, pertama kita bahas depan or frontendnya dlu ya!
  32. To build an angular2 app dengan angular-cli, command ini yang dibutuhkan. Pertama install menggunakan npm install, terus create new app called ‘web-scraper-angular2’, dan change directory ke folder yang baru dibikin. Terus di ng-serve untuk deploy ke localhost. By default pake port 4200
  33. Kalo udah kita liat app.component.html nya, ini adalah satu2nya page di webapp ini, kalo kita perhatikan ada form dengan 2 element input, yang 1 adalah textfield nya, satu lagi adalah buttonnya yang memiliki type submit, apa yang dilakukan? Manggil function doScrap() right? Ngapain deh ituu, categoriesnya dimasukin ke UL dengan directive ngFor.
  34. Ooooh ternyata bikin http get. Dengan asumsi localhost dengan port 3001 udh on, yaitu go server kita, terus call /scraping endpoint. Dengan menambahkan keyword. Kalo dapet response makan akan disubscribe, ambil res kembaliannya masukin ke caterogies. Balik lagi ke htmlnya
  35. Nah sekarang ke GO nya!
  36. Register the endpoint which is /go/api/scraping, dengan masukin return value dari si gethandler function, then listen di 3001.
  37. Di dalam handlernya kita melakukan parsing si params dari incoming request, kan td kita masukin apapun value di textfield, ke dalam ‘keyword’. Nah ini core functionnya, ‘scraping’ dengan keyword yang dikasih sebagai param
  38. Terus di scraping function itu kita construct si bukalapak url dengan any keyword that we sent.
  39. Ok let’s check again the website. Setelah open new document dengan goquery, kita mau ngapain sih? Mau scrap si top 2 categories kan. Nah kita lihat di blue block sebelah kiri, ada rumah tangga dan Hobi Koleksi. Itu dalah bentuk UL dan LI, lets do the real scraping here.
  40. Begini cara scraping nya. Find si UL dengan class js-tree.tree, dan cari per LI nya sehingga mendapatkan si A element.
  41. Nah ini yang mau kita dapetin kan? Si rumah tangga. Tinggal break ketika udh mentok 2, biar ga usah scrap semua LI nya.
  42. Yuk liat code lengkapnya.
  43. Kalo masih ada yang kurang dan penasaran, bisa checkout codenya di sini.