Web Scraping with Python

Paul Schreiber
Paul Schreibersoftware engineer at FiveThirtyEight
using python
web scraping
Paul Schreiber
paul.schreiber@fivethirtyeight.com
paulschreiber@gmail.com
@paulschreiber
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
☁
Web Scraping with Python
</>
Fetching pages
➜ urllib

➜ urllib2

➜ urllib (Python 3)

➜ requests
import'requests'
page'='requests.get('http://www.ire.org/')
Fetch one page
import'requests'
base_url'=''http://www.fishing.ocean/p/%s''
for'i'in'range(0,'10):'
''url'='base_url'%'i'
''page'='requests.get(url)
Fetch a set of results
import'requests'
page'='requests.get('http://www.ire.org/')'
with'open("index.html",'"wb")'as'html:'
''html.write(page.content)
Download a file
Parsing data
➜ Regular Expressions

➜ CSS Selectors

➜ XPath

➜ Object Hierarchy

➜ Object Searching
<html>'
''<head><title>Green'Eggs'and'Ham</title></head>'
''<body>'
'''<ol>'
''''''<li>Green'Eggs</li>'
''''''<li>Ham</li>'
'''</ol>'
''</body>'
</html>
import're'
item_re'='re.compile("<li[^>]*>([^<]+?)</
li>")'
item_re.findall(html)
Regular Expressions DON’T
DO THIS!
from'bs4'import'BeautifulSoup'
soup'='BeautifulSoup(html)'
[s.text'for's'in'soup.select("li")]
CSS Selectors
from'lxml'import'etree'
from'StringIO'import'*'
html'='StringIO(html)'
tree'='etree.parse(html)'
[s.text'for's'in'tree.xpath('/ol/li')]
XPath
import'requests'
from'bs4'import'BeautifulSoup'
page'='requests.get('http://www.ire.org/')'
soup'='BeautifulSoup(page.content)'
print'"The'title'is'"'+'soup.title
Object Hierarchy
from'bs4'import'BeautifulSoup'
soup'='BeautifulSoup(html)'
[s.text'for's'in'soup.find_all("li")]
Object Searching
Web Scraping with Python
import'csv'
with'open('shoes.csv',''wb')'as'csvfile:'
''''shoe_writer'='csv.writer(csvfile)'
''''for'line'in'shoe_list:'
''''''''shoe_writer.writerow(line)'
Write CSV
output'='open("shoes.txt",'"w")'
for'row'in'data:'
''''output.write("t".join(row)'+'"n")'
output.close()'
Write TSV
import'json'
with'open('shoes.json',''wb')'as'outfile:'
''''json.dump(my_json,'outfile)'
Write JSON
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
workon'web_scraping
WTA Rankings
EXAMPLE 1
Web Scraping with Python
WTA Rankings
➜ fetch page

➜ parse cells

➜ write to file
import'csv'
import'requests'
from'bs4'import'BeautifulSoup'
url'=''http://www.wtatennis.com/singlesZ
rankings''
page'='requests.get(url)'
soup'='BeautifulSoup(page.content)
WTA Rankings
soup.select("#myTable'td")
WTA Rankings
[s'for's'in'soup.select("#myTable'td")]
WTA Rankings
Web Scraping with Python
[s.get_text()'for's'in'
soup.select("#myTable'td")]
WTA Rankings
Web Scraping with Python
[s.get_text().strip()'for's'in'
soup.select("#myTable'td")]
WTA Rankings
Web Scraping with Python
cells'='[s.get_text().strip()'for's'in'
soup.select("#myTable'td")]
WTA Rankings
for'i'in'range(0,'3):'
''print'cells[i*7:i*7+7]
WTA Rankings
Web Scraping with Python
with'open('wta.csv',''wb')'as'csvfile:'
''wtawriter'='csv.writer(csvfile)'
''for'i'in'range(0,'3):'
''''wtawriter.writerow(cells[i*7:i*7+7])
WTA Rankings
NY Election
Boards
EXAMPLE 2
Web Scraping with Python
NY Election Boards
➜ list counties

➜ loop over counties

➜ fetch county pages

➜ parse county data

➜ write to file
import'requests'
from'bs4'import'BeautifulSoup'
url'=''http://www.elections.ny.gov/
CountyBoards.html''
page'='requests.get(url)'
soup'='BeautifulSoup(page.content)
NY Election Boards
soup.select("area")
NY Election Boards
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
counties'='soup.select("area")'
county_urls'='[u.get('href')'for'u'in'
counties]
NY Election Boards
Web Scraping with Python
counties'='soup.select("area")'
county_urls'='[u.get('href')'for'u'in'
counties]'
county_urls'='county_urls[1:]'
county_urls'='list(set(county_urls))
NY Election Boards
for'url'in'county_urls[0:3]:'
''''print'"Fetching'%s"'%'url'
''''page'='requests.get(url)'
''''soup'='BeautifulSoup(page.content)'
''''lines'='[s'for's'in'soup.select("th")
[0].strings]'
''''data.append(lines)
NY Election Boards
output'='open("boards.txt",'"w")'
for'row'in'data:'
''''output.write("t".join(row)'+'"n")'
output.close()
NY Election Boards
ACEC
Members
EXAMPLE 3
Web Scraping with Python
ACEC Members
➜ loop over pages

➜ fetch result table

➜ parse name, id, location

➜ write to file
import'requests'
import'json'
from'bs4'import'BeautifulSoup'
base_url'=''http://www.acec.ca/about_acec/
search_member_firms/
business_sector_search.html/search/
business/page/%s'
ACEC Members
url'='base_url'%'1'
page'='requests.get(url)'
soup'='BeautifulSoup(page.content)'
soup.find(id='resulttable')
ACEC Members
Web Scraping with Python
url'='base_url'%'1'
page'='requests.get(url)'
soup'='BeautifulSoup(page.content)'
table'='soup.find(id='resulttable')'
rows'='table.find_all('tr')
ACEC Members
Web Scraping with Python
Web Scraping with Python
url'='base_url'%'1'
page'='requests.get(url)'
soup'='BeautifulSoup(page.content)'
table'='soup.find(id='resulttable')'
rows'='table.find_all('tr')'
columns'='rows[0].find_all('td')
ACEC Members
Web Scraping with Python
columns'='rows[0].find_all('td')'
company_data'='{'
'''name':'columns[1].a.text,'
'''id':'columns[1].a['href'].split('/')
[Z1],'
'''location':'columns[2].text'
}
ACEC Members
start_page'='1'
end_page'='2'
result'='[]
ACEC Members
for'i'in'range(start_page,'end_page'+'1):'
''''url'='base_url'%'i'
''''print'"Fetching'%s"'%'url'
''''page'='requests.get(url)'
''''soup'='BeautifulSoup(page.content)'
''''table'='soup.find(id='resulttable')'
''''rows'='table.find_all('tr')
ACEC Members
Web Scraping with Python
Web Scraping with Python
Web Scraping with Python
''for'r'in'rows:'
''''columns'='r.find_all('td')'
''''company_data'='{'
'''''''name':'columns[1].a.text,'
'''''''id':'columns[1].a['href'].split('/')[Z1],'
'''''''location':'columns[2].text'
''''}'
''''result.append(company_data)'
ACEC Members
with'open('acec.json',''w')'as'outfile:'
''''json.dump(result,'outfile)
ACEC Members
Web Scraping with Python
</>
Web Scraping with Python
Python Tools
➜ lxml

➜ scrapy

➜ MechanicalSoup

➜ RoboBrowser

➜ pyQuery
Ruby Tools
➜ nokogiri

➜ Mechanize
Not coding? Scrape with:
➜ import.io

➜ Kimono

➜ copy & paste

➜ PDFTables

➜ Tabula
☁
Web Scraping with Python
page'='requests.get(url,'auth=('drseuss','
'hamsandwich'))
Basic Authentication
Web Scraping with Python
page'='requests.get(url,'verify=False)
Self-signed certificates
page'='requests.get(url,'verify='/etc/ssl/
certs.pem')
Specify Certificate Bundle
requests.exceptions.SSLError:5hostname5
'shrub.ca'5doesn't5match5either5of5
'www.arthurlaw.ca',5'arthurlaw.ca'5
$'pip'install'pyopenssl'
$'pip'install'ndgZhttpsclient'
$'pip'install'pyasn1
Server Name Indication (SNI)
Web Scraping with Python
UnicodeEncodeError:''ascii','u'Cornet,'
Alizxe9','12,'13,''ordinal'not'in'
range(128)''
Fix
myvar.encode("utfZ8")
Unicode
Web Scraping with Python
page'='requests.get(url)'
if'(page.status_code'>='400):'
''...'
else:'
''...
Server Errors
try:'
''''r'='requests.get(url)'
except'requests.exceptions.RequestException'as'e:'
''''print'e'
''''sys.exit(1)'
Exceptions
headers'='{'
'''''UserZAgent':''Mozilla/3000''
}'
response'='requests.get(url,'headers=headers)
Browser Disallowed
import'time'
for'i'in'range(0,'10):'
''url'='base_url'%'i'
''page'='requests.get(url)'
''time.sleep(1)
Rate Limiting/Slow Servers
requests.get("http://greeneggs.ham/",'params='
{'name':''sam',''verb':''are'})
Query String
requests.post("http://greeneggs.ham/",'data='
{'name':''sam',''verb':''are'})
POST a form
Web Scraping with Python
paritcipate
<strong>'
''<em>foo</strong>'
</em>
Web Scraping with Python
!
github.com/paulschreiber/nicar15
Many graphics from The Noun Project

Binoculars by Stephen West. Broken file by Maxi Koichi.

Broom by Anna Weiss. Chess by Matt Brooks.

Cube by Luis Rodrigues. Firewall by Yazmin Alanis.

Frown by Simple Icons. Lock by Edward Boatman.

Wrench by Tony Gines.
1 of 106

Recommended

Downloading the internet with Python + Scrapy by
Downloading the internet with Python + ScrapyDownloading the internet with Python + Scrapy
Downloading the internet with Python + ScrapyErin Shellman
7.2K views30 slides
How to Scrap Any Website's content using ScrapyTutorial of How to scrape (cra... by
How to Scrap Any Website's content using ScrapyTutorial of How to scrape (cra...How to Scrap Any Website's content using ScrapyTutorial of How to scrape (cra...
How to Scrap Any Website's content using ScrapyTutorial of How to scrape (cra...Anton
27.1K views20 slides
Fun with Python by
Fun with PythonFun with Python
Fun with PythonNarong Intiruk
777 views113 slides
Web Crawling Modeling with Scrapy Models #TDC2014 by
Web Crawling Modeling with Scrapy Models #TDC2014Web Crawling Modeling with Scrapy Models #TDC2014
Web Crawling Modeling with Scrapy Models #TDC2014Bruno Rocha
7.9K views17 slides
Web Scrapping with Python by
Web Scrapping with PythonWeb Scrapping with Python
Web Scrapping with PythonMiguel Miranda de Mattos
8.2K views13 slides
Scrapy workshop by
Scrapy workshopScrapy workshop
Scrapy workshopKarthik Ananth
1.7K views29 slides

More Related Content

What's hot

Pydata-Python tools for webscraping by
Pydata-Python tools for webscrapingPydata-Python tools for webscraping
Pydata-Python tools for webscrapingJose Manuel Ortega Candel
1.4K views59 slides
Scrapy talk at DataPhilly by
Scrapy talk at DataPhillyScrapy talk at DataPhilly
Scrapy talk at DataPhillyobdit
3.2K views22 slides
Selenium&amp;scrapy by
Selenium&amp;scrapySelenium&amp;scrapy
Selenium&amp;scrapyArcangelo Saracino
151 views18 slides
Assumptions: Check yo'self before you wreck yourself by
Assumptions: Check yo'self before you wreck yourselfAssumptions: Check yo'self before you wreck yourself
Assumptions: Check yo'self before you wreck yourselfErin Shellman
1.5K views45 slides
Webscraping with asyncio by
Webscraping with asyncioWebscraping with asyncio
Webscraping with asyncioJose Manuel Ortega Candel
4.1K views78 slides
Scrapy by
ScrapyScrapy
ScrapyFrancisco Sousa
3.1K views41 slides

What's hot(20)

Scrapy talk at DataPhilly by obdit
Scrapy talk at DataPhillyScrapy talk at DataPhilly
Scrapy talk at DataPhilly
obdit3.2K views
Assumptions: Check yo'self before you wreck yourself by Erin Shellman
Assumptions: Check yo'self before you wreck yourselfAssumptions: Check yo'self before you wreck yourself
Assumptions: Check yo'self before you wreck yourself
Erin Shellman1.5K views
Web scraping 1 2-3 with python + scrapy (Summer BarCampHK 2012 version) by Sammy Fung
Web scraping 1 2-3 with python + scrapy (Summer BarCampHK 2012 version)Web scraping 1 2-3 with python + scrapy (Summer BarCampHK 2012 version)
Web scraping 1 2-3 with python + scrapy (Summer BarCampHK 2012 version)
Sammy Fung6.6K views
Hd insight programming by Casear Chu
Hd insight programmingHd insight programming
Hd insight programming
Casear Chu604 views
Go Web Development by Cheng-Yi Yu
Go Web DevelopmentGo Web Development
Go Web Development
Cheng-Yi Yu243 views
Django - 次の一歩 gumiStudy#3 by makoto tsuyuki
Django - 次の一歩 gumiStudy#3Django - 次の一歩 gumiStudy#3
Django - 次の一歩 gumiStudy#3
makoto tsuyuki2.6K views
Cross Domain Web
Mashups with JQuery and Google App Engine by Andy McKay
Cross Domain Web
Mashups with JQuery and Google App EngineCross Domain Web
Mashups with JQuery and Google App Engine
Cross Domain Web
Mashups with JQuery and Google App Engine
Andy McKay3.7K views
Undercover Pods / WP Functions by podsframework
Undercover Pods / WP FunctionsUndercover Pods / WP Functions
Undercover Pods / WP Functions
podsframework2.1K views
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・- by Tsuyoshi Yamamoto
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Tsuyoshi Yamamoto1.4K views
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co... by Codemotion
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK -  Nicola Iarocci - Co...
RESTFUL SERVICES MADE EASY: THE EVE REST API FRAMEWORK - Nicola Iarocci - Co...
Codemotion2.2K views
Essential git fu for tech writers by Gaurav Nelson
Essential git fu for tech writersEssential git fu for tech writers
Essential git fu for tech writers
Gaurav Nelson49 views
Introduction to the Pods JSON API by podsframework
Introduction to the Pods JSON APIIntroduction to the Pods JSON API
Introduction to the Pods JSON API
podsframework6.7K views

Viewers also liked

No excuses user research by
No excuses user researchNo excuses user research
No excuses user researchLily Dart
137.7K views113 slides
Some Advanced Remarketing Ideas by
Some Advanced Remarketing IdeasSome Advanced Remarketing Ideas
Some Advanced Remarketing IdeasChris Thomas
20.8K views55 slides
The Science of Marketing Automation by
The Science of Marketing AutomationThe Science of Marketing Automation
The Science of Marketing AutomationHubSpot
14.1K views57 slides
How to: Viral Marketing + Brand Storytelling by
How to: Viral Marketing + Brand Storytelling How to: Viral Marketing + Brand Storytelling
How to: Viral Marketing + Brand Storytelling Elle Shelley
50.9K views33 slides
Intro to Mixpanel by
Intro to MixpanelIntro to Mixpanel
Intro to MixpanelGilman Tolle
10.2K views51 slides
Stop Leaving Money on the Table! Optimizing your Site for Users and Revenue by
Stop Leaving Money on the Table! Optimizing your Site for Users and RevenueStop Leaving Money on the Table! Optimizing your Site for Users and Revenue
Stop Leaving Money on the Table! Optimizing your Site for Users and RevenueJosh Patrice
41.3K views64 slides

Viewers also liked(20)

No excuses user research by Lily Dart
No excuses user researchNo excuses user research
No excuses user research
Lily Dart137.7K views
Some Advanced Remarketing Ideas by Chris Thomas
Some Advanced Remarketing IdeasSome Advanced Remarketing Ideas
Some Advanced Remarketing Ideas
Chris Thomas20.8K views
The Science of Marketing Automation by HubSpot
The Science of Marketing AutomationThe Science of Marketing Automation
The Science of Marketing Automation
HubSpot14.1K views
How to: Viral Marketing + Brand Storytelling by Elle Shelley
How to: Viral Marketing + Brand Storytelling How to: Viral Marketing + Brand Storytelling
How to: Viral Marketing + Brand Storytelling
Elle Shelley50.9K views
Intro to Mixpanel by Gilman Tolle
Intro to MixpanelIntro to Mixpanel
Intro to Mixpanel
Gilman Tolle10.2K views
Stop Leaving Money on the Table! Optimizing your Site for Users and Revenue by Josh Patrice
Stop Leaving Money on the Table! Optimizing your Site for Users and RevenueStop Leaving Money on the Table! Optimizing your Site for Users and Revenue
Stop Leaving Money on the Table! Optimizing your Site for Users and Revenue
Josh Patrice41.3K views
How to Plug a Leaky Sales Funnel With Facebook Retargeting by Digital Marketer
How to Plug a Leaky Sales Funnel With Facebook RetargetingHow to Plug a Leaky Sales Funnel With Facebook Retargeting
How to Plug a Leaky Sales Funnel With Facebook Retargeting
Digital Marketer10.9K views
10 Ways You're Using AdWords Wrong and How to Correct Those Practices by Kissmetrics on SlideShare
10 Ways You're Using AdWords Wrong and How to Correct Those Practices 10 Ways You're Using AdWords Wrong and How to Correct Those Practices
10 Ways You're Using AdWords Wrong and How to Correct Those Practices
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ... by GeekWire
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
Brenda Spoonemore - A biz dev playbook for startups: Why, when and how to do ...
GeekWire8.6K views
10 Mobile Marketing Campaigns That Went Viral and Made Millions by Mark Fidelman
10 Mobile Marketing Campaigns That Went Viral and Made Millions10 Mobile Marketing Campaigns That Went Viral and Made Millions
10 Mobile Marketing Campaigns That Went Viral and Made Millions
Mark Fidelman184.3K views
The Essentials of Community Building by Mack Fogelson by Mackenzie Fogelson
The Essentials of Community Building by Mack FogelsonThe Essentials of Community Building by Mack Fogelson
The Essentials of Community Building by Mack Fogelson
Mackenzie Fogelson25K views
The Beginners Guide to Startup PR #startuppr by Onboardly
The Beginners Guide to Startup PR #startupprThe Beginners Guide to Startup PR #startuppr
The Beginners Guide to Startup PR #startuppr
Onboardly108.8K views
Biz Dev 101 - An Interactive Workshop on How Deals Get Done by Scott Pollack
Biz Dev 101 - An Interactive Workshop on How Deals Get DoneBiz Dev 101 - An Interactive Workshop on How Deals Get Done
Biz Dev 101 - An Interactive Workshop on How Deals Get Done
Scott Pollack112.3K views
A Guide to User Research (for People Who Don't Like Talking to Other People) by Stephanie Wills
A Guide to User Research (for People Who Don't Like Talking to Other People)A Guide to User Research (for People Who Don't Like Talking to Other People)
A Guide to User Research (for People Who Don't Like Talking to Other People)
Stephanie Wills68.9K views
The Science behind Viral marketing by David Skok
The Science behind Viral marketingThe Science behind Viral marketing
The Science behind Viral marketing
David Skok94.4K views
Mastering Google Adwords In 30 Minutes by Nik Cree
Mastering Google Adwords In 30 MinutesMastering Google Adwords In 30 Minutes
Mastering Google Adwords In 30 Minutes
Nik Cree15.1K views
LinkedIn Ads Platform Master Class by LinkedIn
LinkedIn Ads Platform Master ClassLinkedIn Ads Platform Master Class
LinkedIn Ads Platform Master Class
LinkedIn13.9K views
Wireframes - a brief overview by Jenni Leder
Wireframes - a brief overviewWireframes - a brief overview
Wireframes - a brief overview
Jenni Leder13.9K views
Using Your Growth Model to Drive Smarter High Tempo Testing by Sean Ellis
Using Your Growth Model to Drive Smarter High Tempo TestingUsing Your Growth Model to Drive Smarter High Tempo Testing
Using Your Growth Model to Drive Smarter High Tempo Testing
Sean Ellis40.4K views

Similar to Web Scraping with Python

How I make a podcast website using serverless technology in 2023 by
How I make a podcast website using serverless technology in 2023How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023Shengyou Fan
65 views57 slides
Web Scraping In Ruby Utosc 2009.Key by
Web Scraping In Ruby Utosc 2009.KeyWeb Scraping In Ruby Utosc 2009.Key
Web Scraping In Ruby Utosc 2009.Keyjtzemp
1K views20 slides
Web весна 2013 лекция 6 by
Web весна 2013 лекция 6Web весна 2013 лекция 6
Web весна 2013 лекция 6Technopark
289 views51 slides
Web осень 2012 лекция 6 by
Web осень 2012 лекция 6Web осень 2012 лекция 6
Web осень 2012 лекция 6Technopark
537 views51 slides
ApacheCon 2005 by
ApacheCon 2005ApacheCon 2005
ApacheCon 2005Adam Trachtenberg
649 views43 slides
GDG İstanbul Şubat Etkinliği - Sunum by
GDG İstanbul Şubat Etkinliği - SunumGDG İstanbul Şubat Etkinliği - Sunum
GDG İstanbul Şubat Etkinliği - SunumCüneyt Yeşilkaya
1.8K views18 slides

Similar to Web Scraping with Python(20)

How I make a podcast website using serverless technology in 2023 by Shengyou Fan
How I make a podcast website using serverless technology in 2023How I make a podcast website using serverless technology in 2023
How I make a podcast website using serverless technology in 2023
Shengyou Fan65 views
Web Scraping In Ruby Utosc 2009.Key by jtzemp
Web Scraping In Ruby Utosc 2009.KeyWeb Scraping In Ruby Utosc 2009.Key
Web Scraping In Ruby Utosc 2009.Key
jtzemp1K views
Web весна 2013 лекция 6 by Technopark
Web весна 2013 лекция 6Web весна 2013 лекция 6
Web весна 2013 лекция 6
Technopark289 views
Web осень 2012 лекция 6 by Technopark
Web осень 2012 лекция 6Web осень 2012 лекция 6
Web осень 2012 лекция 6
Technopark537 views
Codeigniter : Two Step View - Concept Implementation by Abdul Malik Ikhsan
Codeigniter : Two Step View - Concept ImplementationCodeigniter : Two Step View - Concept Implementation
Codeigniter : Two Step View - Concept Implementation
Abdul Malik Ikhsan4.2K views
Let's read code: python-requests library by Susan Tan
Let's read code: python-requests libraryLet's read code: python-requests library
Let's read code: python-requests library
Susan Tan2.7K views
Mojolicious - A new hope by Marcus Ramberg
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hope
Marcus Ramberg12.1K views
Dev Jumpstart: Build Your First App with MongoDB by MongoDB
Dev Jumpstart: Build Your First App with MongoDBDev Jumpstart: Build Your First App with MongoDB
Dev Jumpstart: Build Your First App with MongoDB
MongoDB1.5K views
お題でGroovyプログラミング: Part A by Kazuchika Sekiya
お題でGroovyプログラミング: Part Aお題でGroovyプログラミング: Part A
お題でGroovyプログラミング: Part A
Kazuchika Sekiya946 views
E2 appspresso hands on lab by NAVER D2
E2 appspresso hands on labE2 appspresso hands on lab
E2 appspresso hands on lab
NAVER D2945 views
E3 appspresso hands on lab by NAVER D2
E3 appspresso hands on labE3 appspresso hands on lab
E3 appspresso hands on lab
NAVER D2399 views
Mongo+java (1) by MongoDB
Mongo+java (1)Mongo+java (1)
Mongo+java (1)
MongoDB9.2K views
MongoDB + Java - Everything you need to know by Norberto Leite
MongoDB + Java - Everything you need to know MongoDB + Java - Everything you need to know
MongoDB + Java - Everything you need to know
Norberto Leite14.3K views
CodeIgniter PHP MVC Framework by Bo-Yi Wu
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
Bo-Yi Wu27.4K views
Great Developers Steal by Ben Scofield
Great Developers StealGreat Developers Steal
Great Developers Steal
Ben Scofield1.7K views
Effective iOS Network Programming Techniques by Ben Scheirman
Effective iOS Network Programming TechniquesEffective iOS Network Programming Techniques
Effective iOS Network Programming Techniques
Ben Scheirman6.3K views
PesterSec: Using Pester & ScriptAnalyzer to Detect Obfuscated PowerShell by Daniel Bohannon
PesterSec: Using Pester & ScriptAnalyzer to Detect Obfuscated PowerShellPesterSec: Using Pester & ScriptAnalyzer to Detect Obfuscated PowerShell
PesterSec: Using Pester & ScriptAnalyzer to Detect Obfuscated PowerShell
Daniel Bohannon532 views

More from Paul Schreiber

Brooklyn Soloists: personal digital security by
Brooklyn Soloists: personal digital securityBrooklyn Soloists: personal digital security
Brooklyn Soloists: personal digital securityPaul Schreiber
84 views50 slides
BigWP live blogs by
BigWP live blogsBigWP live blogs
BigWP live blogsPaul Schreiber
281 views36 slides
CreativeMornings FieldTrip: information security for creative folks by
CreativeMornings FieldTrip: information security for creative folksCreativeMornings FieldTrip: information security for creative folks
CreativeMornings FieldTrip: information security for creative folksPaul Schreiber
192 views63 slides
WordCamp for Publishers: Security for Newsrooms by
WordCamp for Publishers: Security for NewsroomsWordCamp for Publishers: Security for Newsrooms
WordCamp for Publishers: Security for NewsroomsPaul Schreiber
161 views93 slides
VIP Workshop: Effective Habits of Development Teams by
VIP Workshop: Effective Habits of Development TeamsVIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development TeamsPaul Schreiber
288 views183 slides
BigWP Security Keys by
BigWP Security KeysBigWP Security Keys
BigWP Security KeysPaul Schreiber
530 views60 slides

More from Paul Schreiber(18)

Brooklyn Soloists: personal digital security by Paul Schreiber
Brooklyn Soloists: personal digital securityBrooklyn Soloists: personal digital security
Brooklyn Soloists: personal digital security
Paul Schreiber84 views
CreativeMornings FieldTrip: information security for creative folks by Paul Schreiber
CreativeMornings FieldTrip: information security for creative folksCreativeMornings FieldTrip: information security for creative folks
CreativeMornings FieldTrip: information security for creative folks
Paul Schreiber192 views
WordCamp for Publishers: Security for Newsrooms by Paul Schreiber
WordCamp for Publishers: Security for NewsroomsWordCamp for Publishers: Security for Newsrooms
WordCamp for Publishers: Security for Newsrooms
Paul Schreiber161 views
VIP Workshop: Effective Habits of Development Teams by Paul Schreiber
VIP Workshop: Effective Habits of Development TeamsVIP Workshop: Effective Habits of Development Teams
VIP Workshop: Effective Habits of Development Teams
Paul Schreiber288 views
WordPress NYC: Information Security by Paul Schreiber
WordPress NYC: Information SecurityWordPress NYC: Information Security
WordPress NYC: Information Security
Paul Schreiber249 views
WPNYC: Moving your site to HTTPS by Paul Schreiber
WPNYC: Moving your site to HTTPSWPNYC: Moving your site to HTTPS
WPNYC: Moving your site to HTTPS
Paul Schreiber690 views
NICAR delivering the news over HTTPS by Paul Schreiber
NICAR delivering the news over HTTPSNICAR delivering the news over HTTPS
NICAR delivering the news over HTTPS
Paul Schreiber1.3K views
WordCamp US: Delivering the news over HTTPS by Paul Schreiber
WordCamp US: Delivering the news over HTTPSWordCamp US: Delivering the news over HTTPS
WordCamp US: Delivering the news over HTTPS
Paul Schreiber1.8K views
BigWP: Delivering the news over HTTPS by Paul Schreiber
BigWP: Delivering the news over HTTPSBigWP: Delivering the news over HTTPS
BigWP: Delivering the news over HTTPS
Paul Schreiber16.2K views
Delivering the news over HTTPS by Paul Schreiber
Delivering the news over HTTPSDelivering the news over HTTPS
Delivering the news over HTTPS
Paul Schreiber2.7K views
D'oh! Avoid annoyances with Grunt. by Paul Schreiber
D'oh! Avoid annoyances with Grunt.D'oh! Avoid annoyances with Grunt.
D'oh! Avoid annoyances with Grunt.
Paul Schreiber611 views
EqualityCamp: Lessons learned from the Obama Campaign by Paul Schreiber
EqualityCamp: Lessons learned from the Obama CampaignEqualityCamp: Lessons learned from the Obama Campaign
EqualityCamp: Lessons learned from the Obama Campaign
Paul Schreiber1K views

Recently uploaded

Business Analyst Series 2023 - Week 4 Session 7 by
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
80 views31 slides
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
50 views23 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
67 views38 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
56 views26 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
65 views28 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
74 views18 slides

Recently uploaded(20)

Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray1080 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue50 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely56 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue74 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays40 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue83 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc77 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue48 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue56 views
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... by Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro29 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue111 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue63 views

Web Scraping with Python