- [Music]
- [Music]
- [Music]
- [Music]
- [Music]
- [Music]
- [Music]
- [Music]
- [Music]
- hey everybody welcome back to another
- hey everybody welcome back to another
- hey everybody welcome back to another prefect live i'm chris reuter and today
- prefect live i'm chris reuter and today
- prefect live i'm chris reuter and today i'm here with ben welsh so hey ben how's
- i'm here with ben welsh so hey ben how's
- i'm here with ben welsh so hey ben how's it going
- it going
- it going good thanks for having me absolutely so
- good thanks for having me absolutely so
- good thanks for having me absolutely so ben is an l.a times journalist and this
- ben is an l.a times journalist and this
- ben is an l.a times journalist and this is really cool john s knight journalism
- is really cool john s knight journalism
- is really cool john s knight journalism fellow at stanford i see you've got the
- fellow at stanford i see you've got the
- fellow at stanford i see you've got the hat on today he's been spending they're
- hat on today he's been spending they're
- hat on today he's been spending they're spending the year working on the big
- spending the year working on the big
- spending the year working on the big look local news project so first thing
- look local news project so first thing
- look local news project so first thing i'd love to hear what is the big local
- i'd love to hear what is the big local
- i'd love to hear what is the big local news project what are you working on
- news project what are you working on
- news project what are you working on sure big local news is a program at the
- sure big local news is a program at the
- sure big local news is a program at the stanford university journalism school
- stanford university journalism school
- stanford university journalism school that's looking to kind of become
- that's looking to kind of become
- that's looking to kind of become a hub
- a hub
- a hub for
- for
- for gathering uh analyzing organizing uh
- gathering uh analyzing organizing uh
- gathering uh analyzing organizing uh large data sets for use in local news
- large data sets for use in local news
- large data sets for use in local news so you know
- so you know
- so you know whether you know it or not there are
- whether you know it or not there are
- whether you know it or not there are computer programmers in newsrooms all
- computer programmers in newsrooms all
- computer programmers in newsrooms all across america who are using their kind
- across america who are using their kind
- across america who are using their kind of skills to grab data wrestle it down
- of skills to grab data wrestle it down
- of skills to grab data wrestle it down make sense of it and turn it into
- make sense of it and turn it into
- make sense of it and turn it into stories to find and tell stories and the
- stories to find and tell stories and the
- stories to find and tell stories and the goal of the program at stanford is to to
- goal of the program at stanford is to to
- goal of the program at stanford is to to help newsrooms make that happen
- help newsrooms make that happen
- help newsrooms make that happen that uh data journalism concept i think
- that uh data journalism concept i think
- that uh data journalism concept i think one was definitely new to me and you you
- one was definitely new to me and you you
- one was definitely new to me and you you joined the slack you started asking
- joined the slack you started asking
- joined the slack you started asking questions and i really appreciate your
- questions and i really appreciate your
- questions and i really appreciate your asking some some interesting questions
- asking some some interesting questions
- asking some some interesting questions that i think will help other people get
- that i think will help other people get
- that i think will help other people get started too so you've already been a
- started too so you've already been a
- started too so you've already been a really helpful valuable member of the
- really helpful valuable member of the
- really helpful valuable member of the community i really want to thank you for
- community i really want to thank you for
- community i really want to thank you for that too
- that too
- that too ben was telling me before he came on
- ben was telling me before he came on
- ben was telling me before he came on he's originally from iowa so hard
- he's originally from iowa so hard
- he's originally from iowa so hard question today
- question today
- question today uh this is the i to me the i o question
- uh this is the i to me the i o question
- uh this is the i to me the i o question uh cyclones or hawkeyes oh it's
- uh cyclones or hawkeyes oh it's
- uh cyclones or hawkeyes oh it's definitely the iowa hawkeyes i grew up
- definitely the iowa hawkeyes i grew up
- definitely the iowa hawkeyes i grew up near iowa city iowa and a big hawkeye
- near iowa city iowa and a big hawkeye
- near iowa city iowa and a big hawkeye football fan and i go back for a game
- football fan and i go back for a game
- football fan and i go back for a game every year i was there for penn state
- every year i was there for penn state
- every year i was there for penn state last fall that's awesome
- last fall that's awesome
- last fall that's awesome so today we're talking about the work
- so today we're talking about the work
- so today we're talking about the work you've been doing has been around web
- you've been doing has been around web
- you've been doing has been around web scraping i think was really probably
- scraping i think was really probably
- scraping i think was really probably more relevant to a lot of the data
- more relevant to a lot of the data
- more relevant to a lot of the data journalists out there but i think some
- journalists out there but i think some
- journalists out there but i think some of our other community members could
- of our other community members could
- of our other community members could definitely learn a little bit from your
- definitely learn a little bit from your
- definitely learn a little bit from your use case so i know you're on gcp um do
- use case so i know you're on gcp um do
- use case so i know you're on gcp um do you want to give a brief overview of
- you want to give a brief overview of
- you want to give a brief overview of what we're going to talk about today and
- what we're going to talk about today and
- what we're going to talk about today and then we can get right into it
- then we can get right into it
- then we can get right into it yeah i was thinking i could give some
- yeah i was thinking i could give some
- yeah i was thinking i could give some examples of the type of work that our
- examples of the type of work that our
- examples of the type of work that our team does to turn data into stories into
- team does to turn data into stories into
- team does to turn data into stories into news and then we can really dig into one
- news and then we can really dig into one
- news and then we can really dig into one of kind of our
- of kind of our
- of kind of our new projects still at an early stage
- new projects still at an early stage
- new projects still at an early stage that's trying to take advantage of
- that's trying to take advantage of
- that's trying to take advantage of prefect to really scale up what we can
- prefect to really scale up what we can
- prefect to really scale up what we can pull off that sounds awesome cool so if
- pull off that sounds awesome cool so if
- pull off that sounds awesome cool so if you're ready i'll switch over to your
- you're ready i'll switch over to your
- you're ready i'll switch over to your screen
- screen
- screen yeah sure can you see it yep it's all
- yeah sure can you see it yep it's all
- yeah sure can you see it yep it's all good
- good
- good great so we're starting off here right
- great so we're starting off here right
- great so we're starting off here right now
- now
- now with a story that our team put out just
- with a story that our team put out just
- with a story that our team put out just this morning so today in the central
- this morning so today in the central
- this morning so today in the central valley here in california lisa pick off
- valley here in california lisa pick off
- valley here in california lisa pick off white who's on our big local news team
- white who's on our big local news team
- white who's on our big local news team teamed up with some public radio
- teamed up with some public radio
- teamed up with some public radio reporters in the area to do an
- reporters in the area to do an
- reporters in the area to do an investigation into shootings by the
- investigation into shootings by the
- investigation into shootings by the bakersfield police department
- bakersfield police department
- bakersfield police department the local department had been under some
- the local department had been under some
- the local department had been under some pressure to improve how it handles
- pressure to improve how it handles
- pressure to improve how it handles interacting with people who have mental
- interacting with people who have mental
- interacting with people who have mental health issues
- health issues
- health issues though the department's official
- though the department's official
- though the department's official position has continued to be in years
- position has continued to be in years
- position has continued to be in years that that's not really a problem when it
- that that's not really a problem when it
- that that's not really a problem when it comes to police shootings well what lisa
- comes to police shootings well what lisa
- comes to police shootings well what lisa and her partners molly and sorith found
- and her partners molly and sorith found
- and her partners molly and sorith found out did is they built a database where
- out did is they built a database where
- out did is they built a database where one didn't exist is by filing public
- one didn't exist is by filing public
- one didn't exist is by filing public records requests that are
- records requests that are
- records requests that are allow us to access records thanks to a
- allow us to access records thanks to a
- allow us to access records thanks to a new state law that kind of opened up
- new state law that kind of opened up
- new state law that kind of opened up what you can get they built a database
- what you can get they built a database
- what you can get they built a database of every police shooting by the
- of every police shooting by the
- of every police shooting by the bakersfield police department over a
- bakersfield police department over a
- bakersfield police department over a five or six year period
- five or six year period
- five or six year period and then they went through and read them
- and then they went through and read them
- and then they went through and read them all and so that's a process of like
- all and so that's a process of like
- all and so that's a process of like gathering big stacks of paper and pdfs
- gathering big stacks of paper and pdfs
- gathering big stacks of paper and pdfs uh that you get back from your records
- uh that you get back from your records
- uh that you get back from your records request and then using a sort of
- request and then using a sort of
- request and then using a sort of database frame of mind to kind of
- database frame of mind to kind of
- database frame of mind to kind of convert those raw records into a
- convert those raw records into a
- convert those raw records into a spreadsheet and into something that you
- spreadsheet and into something that you
- spreadsheet and into something that you can analyze
- can analyze
- can analyze so that you can say something a little
- so that you can say something a little
- so that you can say something a little more authoritative than just talk about
- more authoritative than just talk about
- more authoritative than just talk about one or two cases and if you were to
- one or two cases and if you were to
- one or two cases and if you were to check out the story which i encourage
- check out the story which i encourage
- check out the story which i encourage you to do you would see that they found
- you to do you would see that they found
- you to do you would see that they found that about 40
- that about 40
- that about 40 of
- of
- of uses of force during that period were
- uses of force during that period were
- uses of force during that period were linked to or were against a person who
- linked to or were against a person who
- linked to or were against a person who who you could say had some sort of
- who you could say had some sort of
- who you could say had some sort of mental health or sobriety issue at the
- mental health or sobriety issue at the
- mental health or sobriety issue at the time of the event which is much much
- time of the event which is much much
- time of the event which is much much larger than the official police estimate
- larger than the official police estimate
- larger than the official police estimate which was only about three percent so
- which was only about three percent so
- which was only about three percent so the story unpacks all those issues and
- the story unpacks all those issues and
- the story unpacks all those issues and talks about how the police department is
- talks about how the police department is
- talks about how the police department is facing the challenge of really stepping
- facing the challenge of really stepping
- facing the challenge of really stepping up to take that on and to me this is one
- up to take that on and to me this is one
- up to take that on and to me this is one one example among many of the type of
- one example among many of the type of
- one example among many of the type of work that our team tries to do
- work that our team tries to do
- work that our team tries to do to kind of convert public records and
- to kind of convert public records and
- to kind of convert public records and sort of the raw information that's out
- sort of the raw information that's out
- sort of the raw information that's out there in the world and on the internet
- there in the world and on the internet
- there in the world and on the internet into structured information that we can
- into structured information that we can
- into structured information that we can interrogate analyze and report on um our
- interrogate analyze and report on um our
- interrogate analyze and report on um our project big local news is like a website
- project big local news is like a website
- project big local news is like a website at big local news.org
- at big local news.org
- at big local news.org and it's also a github profile where
- and it's also a github profile where
- and it's also a github profile where we're posting you know dozens of open
- we're posting you know dozens of open
- we're posting you know dozens of open source code repositories that power kind
- source code repositories that power kind
- source code repositories that power kind of the work that we do and in some cases
- of the work that we do and in some cases
- of the work that we do and in some cases it's like lisa it's a little more uh ad
- it's like lisa it's a little more uh ad
- it's like lisa it's a little more uh ad hoc where you're converting
- hoc where you're converting
- hoc where you're converting semi-structured data into structured
- semi-structured data into structured
- semi-structured data into structured data but in other cases
- data but in other cases
- data but in other cases the process is quite a bit more
- the process is quite a bit more
- the process is quite a bit more automated in our world of data
- automated in our world of data
- automated in our world of data journalism a really common challenge is
- journalism a really common challenge is
- journalism a really common challenge is what is you know i think everyone on
- what is you know i think everyone on
- what is you know i think everyone on this call probably knows about but it's
- this call probably knows about but it's
- this call probably knows about but it's called web scraping which is really
- called web scraping which is really
- called web scraping which is really writing a sort of computer script or
- writing a sort of computer script or
- writing a sort of computer script or spider that can walk across the web pull
- spider that can walk across the web pull
- spider that can walk across the web pull down pages and then extract kind of
- down pages and then extract kind of
- down pages and then extract kind of useful information out of those pages
- useful information out of those pages
- useful information out of those pages into some kind of structured form and
- into some kind of structured form and
- into some kind of structured form and you know obviously in the case of the
- you know obviously in the case of the
- you know obviously in the case of the google spider
- google spider
- google spider that's done in service of creating a
- that's done in service of creating a
- that's done in service of creating a great search engine
- great search engine
- great search engine in the case of journalists it's often uh
- in the case of journalists it's often uh
- in the case of journalists it's often uh about getting databases out of the
- about getting databases out of the
- about getting databases out of the government that they might not otherwise
- government that they might not otherwise
- government that they might not otherwise want to get give you or it might be hard
- want to get give you or it might be hard
- want to get give you or it might be hard to get at
- to get at
- to get at and so
- and so
- and so a lot of our projects on our team are
- a lot of our projects on our team are
- a lot of our projects on our team are going to try to scale up large scale
- going to try to scale up large scale
- going to try to scale up large scale scrapers that we think will be useful to
- scrapers that we think will be useful to
- scrapers that we think will be useful to many many news organizations across the
- many many news organizations across the
- many many news organizations across the country through the power of scale but
- country through the power of scale but
- country through the power of scale but that the individual news organizations
- that the individual news organizations
- that the individual news organizations really struggle to pull off on their own
- really struggle to pull off on their own
- really struggle to pull off on their own and so if you check our github profile
- and so if you check our github profile
- and so if you check our github profile at big local news you'll see quite a few
- at big local news you'll see quite a few
- at big local news you'll see quite a few examples of those one that i've been
- examples of those one that i've been
- examples of those one that i've been working on on recent weeks that doesn't
- working on on recent weeks that doesn't
- working on on recent weeks that doesn't involve prefect but is sort of more a
- involve prefect but is sort of more a
- involve prefect but is sort of more a finished product is related to scraping
- finished product is related to scraping
- finished product is related to scraping layoff notices under something called
- layoff notices under something called
- layoff notices under something called the warn act and so the warn act is a
- the warn act and so the warn act is a
- the warn act and so the warn act is a federal law that requires companies to
- federal law that requires companies to
- federal law that requires companies to to disclose when they lay off a lot of
- to disclose when they lay off a lot of
- to disclose when they lay off a lot of people at their factory or company
- people at their factory or company
- people at their factory or company but that data is not consolidated into a
- but that data is not consolidated into a
- but that data is not consolidated into a single database anywhere each state
- single database anywhere each state
- single database anywhere each state collects it separately via different
- collects it separately via different
- collects it separately via different means and so with stanford graduate
- means and so with stanford graduate
- means and so with stanford graduate students and partners in journalism
- students and partners in journalism
- students and partners in journalism we've written web scrapers from about 40
- we've written web scrapers from about 40
- we've written web scrapers from about 40 state websites that flow those all into
- state websites that flow those all into
- state websites that flow those all into a single database and then allow us to
- a single database and then allow us to
- a single database and then allow us to write say a slack bot that will notify
- write say a slack bot that will notify
- write say a slack bot that will notify reporters when a new listing has come in
- reporters when a new listing has come in
- reporters when a new listing has come in so that's an example of like a scraper
- so that's an example of like a scraper
- so that's an example of like a scraper in motion just if you're interested in
- in motion just if you're interested in
- in motion just if you're interested in other big local news projects just
- other big local news projects just
- other big local news projects just yesterday on our blog at
- yesterday on our blog at
- yesterday on our blog at biglobalnews.org posts we put up this
- biglobalnews.org posts we put up this
- biglobalnews.org posts we put up this story by dilsey mercedes mercedes which
- story by dilsey mercedes mercedes which
- story by dilsey mercedes mercedes which rounds up
- rounds up
- rounds up um about a dozen different stories from
- um about a dozen different stories from
- um about a dozen different stories from around the world that our team worked on
- around the world that our team worked on
- around the world that our team worked on partnering with news organizations to
- partnering with news organizations to
- partnering with news organizations to turn data into news about covid and so
- turn data into news about covid and so
- turn data into news about covid and so that includes
- that includes
- that includes helping journalists in peru build a
- helping journalists in peru build a
- helping journalists in peru build a database of covet among indigenous
- database of covet among indigenous
- database of covet among indigenous people in the amazon who weren't being
- people in the amazon who weren't being
- people in the amazon who weren't being well tracked by the government there it
- well tracked by the government there it
- well tracked by the government there it also includes working with
- also includes working with
- also includes working with people in the bay area in california to
- people in the bay area in california to
- people in the bay area in california to analyze the billions of dollars of
- analyze the billions of dollars of
- analyze the billions of dollars of emergency loans sent out by the u.s
- emergency loans sent out by the u.s
- emergency loans sent out by the u.s government under the paycheck protection
- government under the paycheck protection
- government under the paycheck protection program
- program
- program and which found pretty wide disparities
- and which found pretty wide disparities
- and which found pretty wide disparities in where those went and lots and lots of
- in where those went and lots and lots of
- in where those went and lots and lots of other examples here for different news
- other examples here for different news
- other examples here for different news organizations across the country and
- organizations across the country and
- organizations across the country and kind of making those stories happen
- kind of making those stories happen
- kind of making those stories happen through um software that we write
- through um software that we write
- through um software that we write through records requests that we file
- through records requests that we file
- through records requests that we file through partnerships with news orgs and
- through partnerships with news orgs and
- through partnerships with news orgs and through like tools we put together for
- through like tools we put together for
- through like tools we put together for reporters kind of the mission of big
- reporters kind of the mission of big
- reporters kind of the mission of big local news is to make a lot of these
- local news is to make a lot of these
- local news is to make a lot of these stories happen that wouldn't otherwise
- stories happen that wouldn't otherwise
- stories happen that wouldn't otherwise you know be stories that are told so
- you know be stories that are told so
- you know be stories that are told so that's kind of the broad overview of
- that's kind of the broad overview of
- that's kind of the broad overview of what we do if anybody's interested in
- what we do if anybody's interested in
- what we do if anybody's interested in learning more about it i would say check
- learning more about it i would say check
- learning more about it i would say check out the website big local news dot org
- out the website big local news dot org
- out the website big local news dot org or github.com
- or github.com
- or github.com big local news
- big local news
- big local news awesome i think purpose why you guys are
- awesome i think purpose why you guys are
- awesome i think purpose why you guys are doing this i think but also
- doing this i think but also
- doing this i think but also one of the reasons why you're talking
- one of the reasons why you're talking
- one of the reasons why you're talking about it a lot of overlap with potential
- about it a lot of overlap with potential
- about it a lot of overlap with potential use cases for some of our communities so
- use cases for some of our communities so
- use cases for some of our communities so i think really great to see the work
- i think really great to see the work
- i think really great to see the work that you guys are doing and also
- that you guys are doing and also
- that you guys are doing and also interested i think it's just really
- interested i think it's just really
- interested i think it's just really interesting a lot of people are doing
- interesting a lot of people are doing
- interesting a lot of people are doing screen scraping believe it or not um all
- screen scraping believe it or not um all
- screen scraping believe it or not um all throughout our community and we've seen
- throughout our community and we've seen
- throughout our community and we've seen it screen scraping and pdf scraping we
- it screen scraping and pdf scraping we
- it screen scraping and pdf scraping we just had a blog that came out actually
- just had a blog that came out actually
- just had a blog that came out actually on a pdf called pdf to snowflake by john
- on a pdf called pdf to snowflake by john
- on a pdf called pdf to snowflake by john luciano on our team which did something
- luciano on our team which did something
- luciano on our team which did something very very similar
- very very similar
- very very similar that's awesome i mean parsing pdfs is
- that's awesome i mean parsing pdfs is
- that's awesome i mean parsing pdfs is really a big challenge for us in the
- really a big challenge for us in the
- really a big challenge for us in the police accountability work you know you
- police accountability work you know you
- police accountability work you know you file a records request
- file a records request
- file a records request and you often get back hundreds or
- and you often get back hundreds or
- and you often get back hundreds or thousands of pages of pdfs that are in
- thousands of pages of pdfs that are in
- thousands of pages of pdfs that are in really unusual shapes and sizes you also
- really unusual shapes and sizes you also
- really unusual shapes and sizes you also we're also getting a lot of unstructured
- we're also getting a lot of unstructured
- we're also getting a lot of unstructured video as well from those requests like
- video as well from those requests like
- video as well from those requests like uh
- uh
- uh body cam footage and so one of our major
- body cam footage and so one of our major
- body cam footage and so one of our major projects over the next year i won't get
- projects over the next year i won't get
- projects over the next year i won't get too in-depth about here today but we're
- too in-depth about here today but we're
- too in-depth about here today but we're definitely looking for tech people to
- definitely looking for tech people to
- definitely looking for tech people to help on
- help on
- help on is how can we
- is how can we
- is how can we build kind of a big database of pdfs and
- build kind of a big database of pdfs and
- build kind of a big database of pdfs and video
- video
- video and get some entity extraction going on
- and get some entity extraction going on
- and get some entity extraction going on so that we can search and find stories
- so that we can search and find stories
- so that we can search and find stories in that haystack of information
- in that haystack of information
- in that haystack of information without it costing a ton of money right
- without it costing a ton of money right
- without it costing a ton of money right and in a way that ultimately yields kind
- and in a way that ultimately yields kind
- and in a way that ultimately yields kind of stories
- of stories
- of stories um so where's prefect come in though
- um so where's prefect come in though
- um so where's prefect come in though right should we get to get to that yeah
- right should we get to get to that yeah
- right should we get to get to that yeah let's do it okay cool so like one of the
- let's do it okay cool so like one of the
- let's do it okay cool so like one of the big projects i worked on the last couple
- big projects i worked on the last couple
- big projects i worked on the last couple years was obviously covering the
- years was obviously covering the
- years was obviously covering the coronavirus
- coronavirus
- coronavirus at the los angeles times i was until
- at the los angeles times i was until
- at the los angeles times i was until recently the editor of the data and
- recently the editor of the data and
- recently the editor of the data and graphics department and one of our major
- graphics department and one of our major
- graphics department and one of our major initiatives was to track coronavirus in
- initiatives was to track coronavirus in
- initiatives was to track coronavirus in the state of california he was starting
- the state of california he was starting
- the state of california he was starting um in march 2020 we began writing web
- um in march 2020 we began writing web
- um in march 2020 we began writing web scrapers for all kinds of uh state
- scrapers for all kinds of uh state
- scrapers for all kinds of uh state websites but also for the 58 counties
- websites but also for the 58 counties
- websites but also for the 58 counties across the state to try to get as much
- across the state to try to get as much
- across the state to try to get as much information about covet as possible and
- information about covet as possible and
- information about covet as possible and we ultimately were able to create a web
- we ultimately were able to create a web
- we ultimately were able to create a web scraping system that runs open source on
- scraping system that runs open source on
- scraping system that runs open source on github at california coronavirus
- github at california coronavirus
- github at california coronavirus scrapers that runs something like 50 to
- scrapers that runs something like 50 to
- scrapers that runs something like 50 to 100 web scrapers you know all throughout
- 100 web scrapers you know all throughout
- 100 web scrapers you know all throughout the day and night to pull down data that
- the day and night to pull down data that
- the day and night to pull down data that then goes on to um
- then goes on to um
- then goes on to um the
- the
- the the
- the
- the you know the the data portal that is
- you know the the data portal that is
- you know the the data portal that is kind of the most popular page on the
- kind of the most popular page on the
- kind of the most popular page on the last website where the numbers are then
- last website where the numbers are then
- last website where the numbers are then surfaced for the general public and in
- surfaced for the general public and in
- surfaced for the general public and in this case we were able to get by just
- this case we were able to get by just
- this case we were able to get by just using kind of github actions and little
- using kind of github actions and little
- using kind of github actions and little itty bitty python scripts because none
- itty bitty python scripts because none
- itty bitty python scripts because none of them were especially that complicated
- of them were especially that complicated
- of them were especially that complicated and the data that we were gathering was
- and the data that we were gathering was
- and the data that we were gathering was pretty
- pretty
- pretty um you know by silicon valley standards
- um you know by silicon valley standards
- um you know by silicon valley standards pretty small or simple right a few
- pretty small or simple right a few
- pretty small or simple right a few hundred or a few thousand records a
- hundred or a few thousand records a
- hundred or a few thousand records a single file and it really was just
- single file and it really was just
- single file and it really was just writing about a lot of little scrapers
- writing about a lot of little scrapers
- writing about a lot of little scrapers doing that we were able to pull it off
- doing that we were able to pull it off
- doing that we were able to pull it off entirely for free using this kind of
- entirely for free using this kind of
- entirely for free using this kind of system but that's not you know there's
- system but that's not you know there's
- system but that's not you know there's often challenges that are bigger than
- often challenges that are bigger than
- often challenges that are bigger than that where we need bigger and better
- that where we need bigger and better
- that where we need bigger and better tools which is where prefix comes in and
- tools which is where prefix comes in and
- tools which is where prefix comes in and you know part of the goal of big local
- you know part of the goal of big local
- you know part of the goal of big local news is to do scrapers that are bigger
- news is to do scrapers that are bigger
- news is to do scrapers that are bigger than news organizations can really pull
- than news organizations can really pull
- than news organizations can really pull off on their own right and there's a
- off on their own right and there's a
- off on their own right and there's a couple classic examples of this
- couple classic examples of this
- couple classic examples of this that news organizations across the
- that news organizations across the
- that news organizations across the country have all kind of tried and
- country have all kind of tried and
- country have all kind of tried and mostly failed to come up with a
- mostly failed to come up with a
- mostly failed to come up with a sustainable solution
- sustainable solution
- sustainable solution and that's really to monitor your local
- and that's really to monitor your local
- and that's really to monitor your local government and analyze it better through
- government and analyze it better through
- government and analyze it better through gathering data one would be you know
- gathering data one would be you know
- gathering data one would be you know your city council everyone has a county
- your city council everyone has a county
- your city council everyone has a county government or a city government that has
- government or a city government that has
- government or a city government that has some kind
- some kind
- some kind of website that is just churning through
- of website that is just churning through
- of website that is just churning through documents about agendas meetings votes
- documents about agendas meetings votes
- documents about agendas meetings votes decisions happening in local government
- decisions happening in local government
- decisions happening in local government and the other is your county courthouse
- and the other is your county courthouse
- and the other is your county courthouse which is where local judges are making
- which is where local judges are making
- which is where local judges are making decisions about who goes to jail who
- decisions about who goes to jail who
- decisions about who goes to jail who doesn't juries as well
- doesn't juries as well
- doesn't juries as well and a lot of power is being exercised
- and a lot of power is being exercised
- and a lot of power is being exercised and in pretty much every newsroom in the
- and in pretty much every newsroom in the
- and in pretty much every newsroom in the united states of a certain size at one
- united states of a certain size at one
- united states of a certain size at one time or another your local uh newsroom
- time or another your local uh newsroom
- time or another your local uh newsroom has had a nerd who's tried to write the
- has had a nerd who's tried to write the
- has had a nerd who's tried to write the scraper for that system
- scraper for that system
- scraper for that system and and many and it's some fraction of
- and and many and it's some fraction of
- and and many and it's some fraction of those cases they've actually succeeded
- those cases they've actually succeeded
- those cases they've actually succeeded hooray right and maybe you came up with
- hooray right and maybe you came up with
- hooray right and maybe you came up with like a little private search that ran
- like a little private search that ran
- like a little private search that ran under their desk at the office right or
- under their desk at the office right or
- under their desk at the office right or maybe you did like a couple good
- maybe you did like a couple good
- maybe you did like a couple good investigative stories where you analyzed
- investigative stories where you analyzed
- investigative stories where you analyzed evictions by landlords or
- evictions by landlords or
- evictions by landlords or racial disparities and sentencing or who
- racial disparities and sentencing or who
- racial disparities and sentencing or who knows what
- knows what
- knows what um but you know ultimately that nerd got
- um but you know ultimately that nerd got
- um but you know ultimately that nerd got another job
- another job
- another job or
- or
- or the county website changed and just like
- the county website changed and just like
- the county website changed and just like keeping those kinds of systems up and
- keeping those kinds of systems up and
- keeping those kinds of systems up and sustainable there just really hasn't
- sustainable there just really hasn't
- sustainable there just really hasn't been a solution for that and so that's
- been a solution for that and so that's
- been a solution for that and so that's that's a like space to use the tech word
- that's a like space to use the tech word
- that's a like space to use the tech word where big local news is looking to kind
- where big local news is looking to kind
- where big local news is looking to kind of enter and see if we can we can come
- of enter and see if we can we can come
- of enter and see if we can we can come up with something that's a little
- up with something that's a little
- up with something that's a little sturdier and so we have two open source
- sturdier and so we have two open source
- sturdier and so we have two open source repositories
- repositories
- repositories you can find on the big local news site
- you can find on the big local news site
- you can find on the big local news site one is called civic scraper and the
- one is called civic scraper and the
- one is called civic scraper and the other is called uh court scraper let me
- other is called uh court scraper let me
- other is called uh court scraper let me call that up real quick and they're you
- call that up real quick and they're you
- call that up real quick and they're you know just free and open python
- know just free and open python
- know just free and open python libraries like you've seen before that
- libraries like you've seen before that
- libraries like you've seen before that have kind of class-based systems
- have kind of class-based systems
- have kind of class-based systems for
- for
- for um scraping kind of the major
- um scraping kind of the major
- um scraping kind of the major platforms or vendors that serve hundreds
- platforms or vendors that serve hundreds
- platforms or vendors that serve hundreds of local governments across the country
- of local governments across the country
- of local governments across the country so there's really five or six companies
- so there's really five or six companies
- so there's really five or six companies that create kind of products they sell
- that create kind of products they sell
- that create kind of products they sell to local governments to do court records
- to local governments to do court records
- to local governments to do court records or to do city council records and if you
- or to do city council records and if you
- or to do city council records and if you can write a scraper
- can write a scraper
- can write a scraper that extracts the data
- that extracts the data
- that extracts the data from those vendors sites you get a lot
- from those vendors sites you get a lot
- from those vendors sites you get a lot of bang for your buck you know there's
- of bang for your buck you know there's
- of bang for your buck you know there's one vendor called civic plus
- one vendor called civic plus
- one vendor called civic plus uh who you can find inside this
- uh who you can find inside this
- uh who you can find inside this repository and if you scrape all the
- repository and if you scrape all the
- repository and if you scrape all the civic plus websites or all the granicus
- civic plus websites or all the granicus
- civic plus websites or all the granicus websites that's another one you're
- websites that's another one you're
- websites that's another one you're you're suddenly gathering
- you're suddenly gathering
- you're suddenly gathering city council records or capable of
- city council records or capable of
- city council records or capable of gathering city council records from
- gathering city council records from
- gathering city council records from literally hundreds of governments across
- literally hundreds of governments across
- literally hundreds of governments across the country and so our goal is to to try
- the country and so our goal is to to try
- the country and so our goal is to to try to get as much bang for the buck as
- to get as much bang for the buck as
- to get as much bang for the buck as possible to write scrapers that really
- possible to write scrapers that really
- possible to write scrapers that really target the large vendors that serve lots
- target the large vendors that serve lots
- target the large vendors that serve lots of areas and then to run
- of areas and then to run
- of areas and then to run spiders that then
- spiders that then
- spiders that then jump across as many local venues as
- jump across as many local venues as
- jump across as many local venues as possible and try to build one big
- possible and try to build one big
- possible and try to build one big national database of
- national database of
- national database of city council agendas and county court
- city council agendas and county court
- city council agendas and county court decisions
- decisions
- decisions and so
- and so
- and so we're at a stage of these projects where
- we're at a stage of these projects where
- we're at a stage of these projects where we've got kind of the draft python
- we've got kind of the draft python
- we've got kind of the draft python applications we've got some of these
- applications we've got some of these
- applications we've got some of these scrapers ready to go but now we actually
- scrapers ready to go but now we actually
- scrapers ready to go but now we actually need to run the damn things right and
- need to run the damn things right and
- need to run the damn things right and github actions is great but if you're
- github actions is great but if you're
- github actions is great but if you're going to scrape
- going to scrape
- going to scrape 500 county court websites or whatever it
- 500 county court websites or whatever it
- 500 county court websites or whatever it ends up being and each one of those
- ends up being and each one of those
- ends up being and each one of those scrapers is going to take a really
- scrapers is going to take a really
- scrapers is going to take a really extended amount of time
- extended amount of time
- extended amount of time and if they're going to need to store
- and if they're going to need to store
- and if they're going to need to store data a lot of data in a pretty big data
- data a lot of data in a pretty big data
- data a lot of data in a pretty big data pool somewhere you know then that kind
- pool somewhere you know then that kind
- pool somewhere you know then that kind of free tool you're using on github
- of free tool you're using on github
- of free tool you're using on github actions doesn't look so great anymore
- actions doesn't look so great anymore
- actions doesn't look so great anymore right and you really need to find a way
- right and you really need to find a way
- right and you really need to find a way to scale up and i'll be honest with you
- to scale up and i'll be honest with you
- to scale up and i'll be honest with you within the sort of like hacker world of
- within the sort of like hacker world of
- within the sort of like hacker world of journalism where there isn't a lot of
- journalism where there isn't a lot of
- journalism where there isn't a lot of money to be made
- money to be made
- money to be made and we're all kind of like people like
- and we're all kind of like people like
- and we're all kind of like people like me people who went to journalism school
- me people who went to journalism school
- me people who went to journalism school and are like faker coders
- and are like faker coders
- and are like faker coders you know there really hasn't this
- you know there really hasn't this
- you know there really hasn't this problem like really hasn't been solved
- problem like really hasn't been solved
- problem like really hasn't been solved within our little like niche and so
- within our little like niche and so
- within our little like niche and so this is part of where we're getting
- this is part of where we're getting
- this is part of where we're getting stanford behind it we're trying out a
- stanford behind it we're trying out a
- stanford behind it we're trying out a tool like prefect our goal is to kind of
- tool like prefect our goal is to kind of
- tool like prefect our goal is to kind of go a little further than you than the
- go a little further than you than the
- go a little further than you than the news organizations have really gone
- news organizations have really gone
- news organizations have really gone before i suspect some of these problems
- before i suspect some of these problems
- before i suspect some of these problems might seem small to people who work at
- might seem small to people who work at
- might seem small to people who work at big tech but they're
- big tech but they're
- big tech but they're you know we're trying to get over a
- you know we're trying to get over a
- you know we're trying to get over a pretty big hump for journalism to try to
- pretty big hump for journalism to try to
- pretty big hump for journalism to try to step it up to another level and so
- step it up to another level and so
- step it up to another level and so what i've been working on the last
- what i've been working on the last
- what i've been working on the last couple months isn't really these
- couple months isn't really these
- couple months isn't really these scrapers it's the prefect integration
- scrapers it's the prefect integration
- scrapers it's the prefect integration and so
- and so
- and so um you can see here here's here this is
- um you can see here here's here this is
- um you can see here here's here this is the private repository now and so this
- the private repository now and so this
- the private repository now and so this is a private repository called the civic
- is a private repository called the civic
- is a private repository called the civic prefect flow
- prefect flow
- prefect flow and this is my kind of current effort to
- and this is my kind of current effort to
- and this is my kind of current effort to take that open source civic scraper code
- take that open source civic scraper code
- take that open source civic scraper code we were just looking at from pi pi and
- we were just looking at from pi pi and
- we were just looking at from pi pi and the open source world of python and
- the open source world of python and
- the open source world of python and install it so that it's ready to be
- install it so that it's ready to be
- install it so that it's ready to be plugged into a kubernetes cluster
- plugged into a kubernetes cluster
- plugged into a kubernetes cluster running in google cloud
- running in google cloud
- running in google cloud a sort of whole prefect kit so that
- a sort of whole prefect kit so that
- a sort of whole prefect kit so that we'll be able to schedule tasks that
- we'll be able to schedule tasks that
- we'll be able to schedule tasks that will run across hundreds or maybe even
- will run across hundreds or maybe even
- will run across hundreds or maybe even thousands of sites before we're done and
- thousands of sites before we're done and
- thousands of sites before we're done and so
- so
- so this is um
- this is um
- this is um this is you know pretty basic prefix
- this is you know pretty basic prefix
- this is you know pretty basic prefix stuff but you can see that it's based on
- stuff but you can see that it's based on
- stuff but you can see that it's based on a github template which is also open
- a github template which is also open
- a github template which is also open source so we've created an open source
- source so we've created an open source
- source so we've created an open source template called prefect flow template
- template called prefect flow template
- template called prefect flow template which is kind of my the current like
- which is kind of my the current like
- which is kind of my the current like best knowledge that i've been able to
- best knowledge that i've been able to
- best knowledge that i've been able to assemble for myself personally by
- assemble for myself personally by
- assemble for myself personally by bugging chris and his colleagues at
- bugging chris and his colleagues at
- bugging chris and his colleagues at slack by doing a lot of hacking
- slack by doing a lot of hacking
- slack by doing a lot of hacking uh on my own time at work is this is
- uh on my own time at work is this is
- uh on my own time at work is this is kind of the bare bones for how you would
- kind of the bare bones for how you would
- kind of the bare bones for how you would take a prefect flow and plug it into
- take a prefect flow and plug it into
- take a prefect flow and plug it into kubernetes and um
- kubernetes and um
- kubernetes and um and google google cloud and so you can
- and google google cloud and so you can
- and google google cloud and so you can see it here some pretty basic like hacks
- see it here some pretty basic like hacks
- see it here some pretty basic like hacks i've come up with for managing
- i've come up with for managing
- i've come up with for managing development versus production
- development versus production
- development versus production environments
- environments
- environments where the code itself is going to be
- where the code itself is going to be
- where the code itself is going to be stuffed up into docker inside the google
- stuffed up into docker inside the google
- stuffed up into docker inside the google artifact registry
- artifact registry
- artifact registry and
- and
- and the uh run is going to be done by a
- the uh run is going to be done by a
- the uh run is going to be done by a kubernetes agent the size of which is
- kubernetes agent the size of which is
- kubernetes agent the size of which is kind of dictated by some of this config
- kind of dictated by some of this config
- kind of dictated by some of this config here
- here
- here and this code
- and this code
- and this code is pretty much ready to go for anyone
- is pretty much ready to go for anyone
- is pretty much ready to go for anyone who would want to experiment with it or
- who would want to experiment with it or
- who would want to experiment with it or try to use it
- try to use it
- try to use it besides just kind of figuring out how to
- besides just kind of figuring out how to
- besides just kind of figuring out how to manage the toggle between the two
- manage the toggle between the two
- manage the toggle between the two environments i'm pretty proud of what
- environments i'm pretty proud of what
- environments i'm pretty proud of what we've been able to do here with uh
- we've been able to do here with uh
- we've been able to do here with uh github actions integration where we have
- github actions integration where we have
- github actions integration where we have a workflow that's included with this
- a workflow that's included with this
- a workflow that's included with this that has kind of a continuous deployment
- that has kind of a continuous deployment
- that has kind of a continuous deployment so that every time you you've ever done
- so that every time you you've ever done
- so that every time you you've ever done a github release every time you do a
- a github release every time you do a
- a github release every time you do a release on github or you kick out a new
- release on github or you kick out a new
- release on github or you kick out a new version this will actually trigger a
- version this will actually trigger a
- version this will actually trigger a deployment into google cloud
- deployment into google cloud
- deployment into google cloud um automatically
- um automatically
- um automatically where um
- where um
- where um the docker in image with the code that's
- the docker in image with the code that's
- the docker in image with the code that's going to be run will be re-uploaded and
- going to be run will be re-uploaded and
- going to be run will be re-uploaded and versioned
- versioned
- versioned into google artifact registry and the
- into google artifact registry and the
- into google artifact registry and the prefect flow will be re-registered with
- prefect flow will be re-registered with
- prefect flow will be re-registered with our prefect account kind of
- our prefect account kind of
- our prefect account kind of automatically and so just through a
- automatically and so just through a
- automatically and so just through a little bit of kind of configuration of
- little bit of kind of configuration of
- little bit of kind of configuration of some of these goofy tools you can make
- some of these goofy tools you can make
- some of these goofy tools you can make it so that you're able to push out
- it so that you're able to push out
- it so that you're able to push out new iterations of
- new iterations of
- new iterations of the kind of flow um without it being a
- the kind of flow um without it being a
- the kind of flow um without it being a big
- big
- big goddamn hassle to like
- goddamn hassle to like
- goddamn hassle to like shove shove the vcr tape into the google
- shove shove the vcr tape into the google
- shove shove the vcr tape into the google um you know vcr
- um you know vcr
- um you know vcr and so that all kind of ends up inside a
- and so that all kind of ends up inside a
- and so that all kind of ends up inside a kubernetes cluster which you can see
- kubernetes cluster which you can see
- kubernetes cluster which you can see here where right now the only thing
- here where right now the only thing
- here where right now the only thing running is currently our prefect agent
- running is currently our prefect agent
- running is currently our prefect agent which is sort of you know the all was on
- which is sort of you know the all was on
- which is sort of you know the all was on watcher that's waiting to be told to do
- watcher that's waiting to be told to do
- watcher that's waiting to be told to do something
- something
- something and uh that's configured through a
- and uh that's configured through a
- and uh that's configured through a separate private repository by the way
- separate private repository by the way
- separate private repository by the way which if people are interested in how to
- which if people are interested in how to
- which if people are interested in how to do a prefect agent which is a little
- do a prefect agent which is a little
- do a prefect agent which is a little different from doing a prefect flow and
- different from doing a prefect flow and
- different from doing a prefect flow and it's kind of part of learning how to how
- it's kind of part of learning how to how
- it's kind of part of learning how to how to uh learning how to dougie within this
- to uh learning how to dougie within this
- to uh learning how to dougie within this kind of system we've got a private um
- kind of system we've got a private um
- kind of system we've got a private um repo there i'd be happy to share some of
- repo there i'd be happy to share some of
- repo there i'd be happy to share some of the stuff i've learned on and we
- the stuff i've learned on and we
- the stuff i've learned on and we actually did a post on our blog
- actually did a post on our blog
- actually did a post on our blog which walks through all the steps on how
- which walks through all the steps on how
- which walks through all the steps on how to deploy your prefect agent to google
- to deploy your prefect agent to google
- to deploy your prefect agent to google kubernetes engine
- kubernetes engine
- kubernetes engine um which is just a lot of really
- um which is just a lot of really
- um which is just a lot of really annoying g cloud commands um which i'd
- annoying g cloud commands um which i'd
- annoying g cloud commands um which i'd be happy to talk about but i don't want
- be happy to talk about but i don't want
- be happy to talk about but i don't want to bore you but the result is is that
- to bore you but the result is is that
- to bore you but the result is is that when the prefix scheduled task is
- when the prefix scheduled task is
- when the prefix scheduled task is kickstarted within prefect it's able the
- kickstarted within prefect it's able the
- kickstarted within prefect it's able the agent will pick it up and then we'll
- agent will pick it up and then we'll
- agent will pick it up and then we'll just create workers here
- just create workers here
- just create workers here as dictated in the flow
- as dictated in the flow
- as dictated in the flow uh and they'll do the thing and keep
- uh and they'll do the thing and keep
- uh and they'll do the thing and keep moving and so
- moving and so
- moving and so we're at a stage now where we've kind of
- we're at a stage now where we've kind of
- we're at a stage now where we've kind of like learned enough prefect to get all
- like learned enough prefect to get all
- like learned enough prefect to get all the kind of ducks in a row and the
- the kind of ducks in a row and the
- the kind of ducks in a row and the pieces in place and over the next few
- pieces in place and over the next few
- pieces in place and over the next few weeks we're going to look to really
- weeks we're going to look to really
- weeks we're going to look to really start slotting in the scraper and
- start slotting in the scraper and
- start slotting in the scraper and scaling up how much data we're gathering
- scaling up how much data we're gathering
- scaling up how much data we're gathering that's something that's that's still
- that's something that's that's still
- that's something that's that's still actually ahead of us but my hope is is
- actually ahead of us but my hope is is
- actually ahead of us but my hope is is that by the end of this month we'll
- that by the end of this month we'll
- that by the end of this month we'll really be skate we'll be running one of
- really be skate we'll be running one of
- really be skate we'll be running one of the biggest scrapers in journalism i
- the biggest scrapers in journalism i
- the biggest scrapers in journalism i think by the end of the month which is
- think by the end of the month which is
- think by the end of the month which is pretty exciting then we got to figure
- pretty exciting then we got to figure
- pretty exciting then we got to figure out what we're going to do with all that
- out what we're going to do with all that
- out what we're going to do with all that data which is a whole other challenge of
- data which is a whole other challenge of
- data which is a whole other challenge of analysis and
- data science but that's a separate kind
- data science but that's a separate kind
- data science but that's a separate kind of question entirely i suppose that's
- of question entirely i suppose that's
- of question entirely i suppose that's awesome it's really funny i think two
- awesome it's really funny i think two
- awesome it's really funny i think two weeks in a row we've had community
- weeks in a row we've had community
- weeks in a row we've had community members on predict live in two weeks in
- members on predict live in two weeks in
- members on predict live in two weeks in a row it's been the same pattern of
- a row it's been the same pattern of
- a row it's been the same pattern of deploying a docker agent via github
- deploying a docker agent via github
- deploying a docker agent via github actions um or so it's it's it's
- actions um or so it's it's it's
- actions um or so it's it's it's interesting to see you're doing it in
- interesting to see you're doing it in
- interesting to see you're doing it in google cloud i think that henning who
- google cloud i think that henning who
- google cloud i think that henning who was on last week was doing a picture but
- was on last week was doing a picture but
- was on last week was doing a picture but it's an interesting pattern that that
- it's an interesting pattern that that
- it's an interesting pattern that that we're seeing out there and i think will
- we're seeing out there and i think will
- we're seeing out there and i think will be really really helpful um if other
- be really really helpful um if other
- be really really helpful um if other people were to see it so i will
- people were to see it so i will
- people were to see it so i will highlight this blog post when we when we
- highlight this blog post when we when we
- highlight this blog post when we when we post it on youtube too
- post it on youtube too
- post it on youtube too the trick is really getting into this
- the trick is really getting into this
- the trick is really getting into this thing called the google artifact
- thing called the google artifact
- thing called the google artifact registry which is really like their
- registry which is really like their
- registry which is really like their private version of pi pi in some ways
- private version of pi pi in some ways
- private version of pi pi in some ways right it's a place where you can like
- right it's a place where you can like
- right it's a place where you can like ship private python packages private
- ship private python packages private
- ship private python packages private docker images
- docker images
- docker images and then um version them so they can
- and then um version them so they can
- and then um version them so they can kind of get kicked out so here's the
- kind of get kicked out so here's the
- kind of get kicked out so here's the docker image for our agent and here's
- docker image for our agent and here's
- docker image for our agent and here's the docker image for that prefect flow
- the docker image for that prefect flow
- the docker image for that prefect flow and every time we do a github release it
- and every time we do a github release it
- and every time we do a github release it just stuffs another version of it kind
- just stuffs another version of it kind
- just stuffs another version of it kind of in here right
- of in here right
- of in here right um so you can see this one's been
- um so you can see this one's been
- um so you can see this one's been versioned a few times and
- versioned a few times and
- versioned a few times and um and so like learning that is kind of
- um and so like learning that is kind of
- um and so like learning that is kind of the trick uh on the google cloud side
- the trick uh on the google cloud side
- the trick uh on the google cloud side and then the github action side we have
- and then the github action side we have
- and then the github action side we have another post that kind of shows this too
- another post that kind of shows this too
- another post that kind of shows this too which is um
- which is um
- which is um how to push tagged release to google
- how to push tagged release to google
- how to push tagged release to google artifact registry with github action
- artifact registry with github action
- artifact registry with github action this really gets at the challenge of
- this really gets at the challenge of
- this really gets at the challenge of integration with github which is not
- integration with github which is not
- integration with github which is not especially hard but it requires you to
- especially hard but it requires you to
- especially hard but it requires you to create you create this thing called a
- create you create this thing called a
- create you create this thing called a service worker or a workload identity
- service worker or a workload identity
- service worker or a workload identity federation which is really just a bunch
- federation which is really just a bunch
- federation which is really just a bunch of gobbledygook for like how do you
- of gobbledygook for like how do you
- of gobbledygook for like how do you create a special user that github is
- create a special user that github is
- create a special user that github is allowed to use to muck around with your
- allowed to use to muck around with your
- allowed to use to muck around with your google cloud right
- google cloud right
- google cloud right but like just like creating the user for
- but like just like creating the user for
- but like just like creating the user for the action to talk to google cloud
- the action to talk to google cloud
- the action to talk to google cloud requires like six or seven like crazy g
- requires like six or seven like crazy g
- requires like six or seven like crazy g cloud commands and like permissions and
- cloud commands and like permissions and
- cloud commands and like permissions and so the first time you do it it's kind of
- so the first time you do it it's kind of
- so the first time you do it it's kind of wild and crazy but once you once you're
- wild and crazy but once you once you're
- wild and crazy but once you once you're done with it it's pretty simple to just
- done with it it's pretty simple to just
- done with it it's pretty simple to just like plug it in
- like plug it in
- like plug it in you you have a talent for synthesizing
- you you have a talent for synthesizing
- you you have a talent for synthesizing things in a really i think
- things in a really i think
- things in a really i think interesting way and i i would agree with
- interesting way and i i would agree with
- interesting way and i i would agree with you it is just a bunch of gobbledygook
- you it is just a bunch of gobbledygook
- you it is just a bunch of gobbledygook in order to to create a essential oh my
- in order to to create a essential oh my
- in order to to create a essential oh my god a workload identity pool versus like
- god a workload identity pool versus like
- god a workload identity pool versus like a workload identity provider like you
- a workload identity provider like you
- a workload identity provider like you know come on yeah
- know come on yeah
- know come on yeah um so we you and i were talking before
- um so we you and i were talking before
- um so we you and i were talking before we went live a little bit about your
- we went live a little bit about your
- we went live a little bit about your experience we started started with
- experience we started started with
- experience we started started with prefect 2 and i think that a lot of a
- prefect 2 and i think that a lot of a
- prefect 2 and i think that a lot of a lot of users
- lot of users
- lot of users experienced maybe some of the same
- experienced maybe some of the same
- experienced maybe some of the same challenges you may have if you i'd love
- challenges you may have if you i'd love
- challenges you may have if you i'd love for you to talk about those a little bit
- for you to talk about those a little bit
- for you to talk about those a little bit briefly and then maybe we can help to
- briefly and then maybe we can help to
- briefly and then maybe we can help to push you yeah in the right direction and
- push you yeah in the right direction and
- push you yeah in the right direction and then secondly if you have any any
- then secondly if you have any any
- then secondly if you have any any thoughts or experience on prefect 2
- thoughts or experience on prefect 2
- thoughts or experience on prefect 2 which is or orion yeah i mean so i'm a
- which is or orion yeah i mean so i'm a
- which is or orion yeah i mean so i'm a python guy i've been doing python for 15
- python guy i've been doing python for 15
- python guy i've been doing python for 15 years or whatever i wouldn't say i'm an
- years or whatever i wouldn't say i'm an
- years or whatever i wouldn't say i'm an expert i'm more of like a journalist
- expert i'm more of like a journalist
- expert i'm more of like a journalist hacker type but i'm comfortable with
- hacker type but i'm comfortable with
- hacker type but i'm comfortable with python it's what i like
- python it's what i like
- python it's what i like i have opinions about it you know what i
- i have opinions about it you know what i
- i have opinions about it you know what i mean i've gotten to that stage but like
- mean i've gotten to that stage but like
- mean i've gotten to that stage but like um and so prefect i think is a really
- um and so prefect i think is a really
- um and so prefect i think is a really great thing for a python person to get
- great thing for a python person to get
- great thing for a python person to get started because it's really
- started because it's really
- started because it's really well put together python code i think
- well put together python code i think
- well put together python code i think anyone who's a veteran at it will kind
- anyone who's a veteran at it will kind
- anyone who's a veteran at it will kind of recognize that pretty quickly they
- of recognize that pretty quickly they
- of recognize that pretty quickly they have a lot of really good examples of
- have a lot of really good examples of
- have a lot of really good examples of how they made flows happen to me the
- how they made flows happen to me the
- how they made flows happen to me the real challenge wasn't the prefect code
- real challenge wasn't the prefect code
- real challenge wasn't the prefect code or the python which i thought came
- or the python which i thought came
- or the python which i thought came pretty quick to me the challenge was
- pretty quick to me the challenge was
- pretty quick to me the challenge was figuring out how to integrate it with
- figuring out how to integrate it with
- figuring out how to integrate it with google cloud and my hosting provider
- google cloud and my hosting provider
- google cloud and my hosting provider right where it's like okay so i've got
- right where it's like okay so i've got
- right where it's like okay so i've got this flow
- this flow
- this flow like how do i get it up somewhere so
- like how do i get it up somewhere so
- like how do i get it up somewhere so it's like running and like what exactly
- it's like running and like what exactly
- it's like running and like what exactly is an agent as opposed to my flow and
- is an agent as opposed to my flow and
- is an agent as opposed to my flow and how do i make all those kind of things
- how do i make all those kind of things
- how do i make all those kind of things like run within the provider
- like run within the provider
- like run within the provider was really the challenge and the way i
- was really the challenge and the way i
- was really the challenge and the way i got there was just like through you know
- got there was just like through you know
- got there was just like through you know embarrassing questions and kind of
- embarrassing questions and kind of
- embarrassing questions and kind of stumbling my way in the prefect slack so
- stumbling my way in the prefect slack so
- stumbling my way in the prefect slack so i really wouldn't i mean it worked great
- i really wouldn't i mean it worked great
- i really wouldn't i mean it worked great for me i would really say anyone who's
- for me i would really say anyone who's
- for me i would really say anyone who's getting started get into the prefect
- getting started get into the prefect
- getting started get into the prefect slack and just like just ask the
- slack and just like just ask the
- slack and just like just ask the questions like how do i do this
- questions like how do i do this
- questions like how do i do this and you know you might be that you know
- and you know you might be that you know
- and you know you might be that you know it could be that you're the first person
- it could be that you're the first person
- it could be that you're the first person to ask this or that but you probably
- to ask this or that but you probably
- to ask this or that but you probably aren't and the folks in there can kind
- aren't and the folks in there can kind
- aren't and the folks in there can kind of point you to some other resources
- of point you to some other resources
- of point you to some other resources that's a big reason i wrote these blog
- that's a big reason i wrote these blog
- that's a big reason i wrote these blog posts as well myself and put together
- posts as well myself and put together
- posts as well myself and put together the open source flow template is one i
- the open source flow template is one i
- the open source flow template is one i want our team and other people on my
- want our team and other people on my
- want our team and other people on my team to be able to learn this because
- team to be able to learn this because
- team to be able to learn this because i'm like our kind of explorer on this
- i'm like our kind of explorer on this
- i'm like our kind of explorer on this but i also just want to make it so other
- but i also just want to make it so other
- but i also just want to make it so other folks can pick up the tech without it
- folks can pick up the tech without it
- folks can pick up the tech without it being a big hassle too absolutely
- being a big hassle too absolutely
- being a big hassle too absolutely have you you thought have you read about
- have you you thought have you read about
- have you you thought have you read about 2.0 at all or have you thought about i
- 2.0 at all or have you thought about i
- 2.0 at all or have you thought about i know it's like a thing and it's it's
- know it's like a thing and it's it's
- know it's like a thing and it's it's it's pitched to be better but i to be
- it's pitched to be better but i to be
- it's pitched to be better but i to be honest with you i haven't even looked at
- honest with you i haven't even looked at
- honest with you i haven't even looked at it yep yet no worries um and then
- it yep yet no worries um and then
- it yep yet no worries um and then scaling is one thing i wanted to touch
- scaling is one thing i wanted to touch
- scaling is one thing i wanted to touch on too that we did talk about earlier a
- on too that we did talk about earlier a
- on too that we did talk about earlier a little bit i know you probably really
- little bit i know you probably really
- little bit i know you probably really have no like no idea what like what the
- have no like no idea what like what the
- have no like no idea what like what the core usage will be right but um how much
- core usage will be right but um how much
- core usage will be right but um how much how much data are you looking to scrape
- how much data are you looking to scrape
- how much data are you looking to scrape broadly if you can say that maybe number
- broadly if you can say that maybe number
- broadly if you can say that maybe number of pages yeah i mean we haven't really
- of pages yeah i mean we haven't really
- of pages yeah i mean we haven't really done the estimate which we should
- done the estimate which we should
- done the estimate which we should you know um but i think it's gonna be
- you know um but i think it's gonna be
- you know um but i think it's gonna be millions of artifacts you know what i
- millions of artifacts you know what i
- millions of artifacts you know what i mean it's gonna be
- mean it's gonna be
- mean it's gonna be because if you think about it like
- because if you think about it like
- because if you think about it like you know if you go through the major
- you know if you go through the major
- you know if you go through the major courthouses in the state of california
- courthouses in the state of california
- courthouses in the state of california you know the five or ten biggest
- you know the five or ten biggest
- you know the five or ten biggest counties are doing tens of thousands of
- counties are doing tens of thousands of
- counties are doing tens of thousands of cases every year you know in their local
- cases every year you know in their local
- cases every year you know in their local county courthouses and then every one of
- county courthouses and then every one of
- county courthouses and then every one of those cases may have multiple records
- those cases may have multiple records
- those cases may have multiple records depending on how the website's set up
- depending on how the website's set up
- depending on how the website's set up and so i think that stuff's going to
- and so i think that stuff's going to
- and so i think that stuff's going to multiply pretty quickly so i think we'll
- multiply pretty quickly so i think we'll
- multiply pretty quickly so i think we'll probably end up in the millions or tens
- probably end up in the millions or tens
- probably end up in the millions or tens of millions of records
- of millions of records
- of millions of records without much trouble without before we
- without much trouble without before we
- without much trouble without before we get too far
- get too far
- get too far you know um so i think it's it's going
- you know um so i think it's it's going
- you know um so i think it's it's going to be in that ballpark which for
- to be in that ballpark which for
- to be in that ballpark which for journalism is big you know
- journalism is big you know
- journalism is big you know yeah and we i mean we're really
- yeah and we i mean we're really
- yeah and we i mean we're really interested to follow the
- interested to follow the
- interested to follow the failing story and i think it'll be
- failing story and i think it'll be
- failing story and i think it'll be really really cool to i mean you have to
- really really cool to i mean you have to
- really really cool to i mean you have to have you back on here at least to see uh
- have you back on here at least to see uh
- have you back on here at least to see uh how fast how much you've scaled and how
- how fast how much you've scaled and how
- how fast how much you've scaled and how totally yeah and i think because there's
- totally yeah and i think because there's
- totally yeah and i think because there's going to be two things to it there's the
- going to be two things to it there's the
- going to be two things to it there's the workers to just go get it but then
- workers to just go get it but then
- workers to just go get it but then there's just like the static files which
- there's just like the static files which
- there's just like the static files which is like where do we stick them and then
- is like where do we stick them and then
- is like where do we stick them and then how do we do anything with them
- how do we do anything with them
- how do we do anything with them efficiently this is one thing that you
- efficiently this is one thing that you
- efficiently this is one thing that you know you know some of my good friends
- know you know some of my good friends
- know you know some of my good friends work on
- work on
- work on the panama papers or the pandora papers
- the panama papers or the pandora papers
- the panama papers or the pandora papers which are projects i bet people on
- which are projects i bet people on
- which are projects i bet people on you've heard about which are these huge
- you've heard about which are these huge
- you've heard about which are these huge leaks from central american law firms
- leaks from central american law firms
- leaks from central american law firms um
- um
- um that you know that hold offshore
- that you know that hold offshore
- that you know that hold offshore accounts for the world's wealthy and
- accounts for the world's wealthy and
- accounts for the world's wealthy and they have to deal with you know millions
- they have to deal with you know millions
- they have to deal with you know millions of pdfs and records for their stories
- of pdfs and records for their stories
- of pdfs and records for their stories and they find
- and they find
- and they find that um it's so costly to run like a
- that um it's so costly to run like a
- that um it's so costly to run like a data science operation across the entire
- data science operation across the entire
- data science operation across the entire set that they tend not just to do it you
- set that they tend not just to do it you
- set that they tend not just to do it you know there's a way in which i think
- know there's a way in which i think
- know there's a way in which i think there's a lot of potential
- there's a lot of potential
- there's a lot of potential to take what people have you know
- to take what people have you know
- to take what people have you know developed in machine learning and and ai
- developed in machine learning and and ai
- developed in machine learning and and ai techniques to
- techniques to
- techniques to to try to to bring more out of these
- to try to to bring more out of these
- to try to to bring more out of these like data sets that have a high public
- like data sets that have a high public
- like data sets that have a high public interest value but the cost is is really
- interest value but the cost is is really
- interest value but the cost is is really sometimes an issue and then you know
- sometimes an issue and then you know
- sometimes an issue and then you know even though we are hackers and coders
- even though we are hackers and coders
- even though we are hackers and coders you know we're not ai specialists right
- you know we're not ai specialists right
- you know we're not ai specialists right you know and so
- you know and so
- you know and so knowing the right thing to do is often
- knowing the right thing to do is often
- knowing the right thing to do is often kind of a trick absolutely so if if
- kind of a trick absolutely so if if
- kind of a trick absolutely so if if people want to know how to support you
- people want to know how to support you
- people want to know how to support you or big local news how can they do so
- or big local news how can they do so
- or big local news how can they do so well i mean we got all this code that's
- well i mean we got all this code that's
- well i mean we got all this code that's open source you know the warren project
- open source you know the warren project
- open source you know the warren project i just talked about briefly has more
- i just talked about briefly has more
- i just talked about briefly has more than a dozen outside contributors and so
- than a dozen outside contributors and so
- than a dozen outside contributors and so if you're interested in writing a web
- if you're interested in writing a web
- if you're interested in writing a web scraper that's part of one of our
- scraper that's part of one of our
- scraper that's part of one of our projects or just getting involved and
- projects or just getting involved and
- projects or just getting involved and improving some of our open source code
- improving some of our open source code
- improving some of our open source code there's a lot of opportunities on the
- there's a lot of opportunities on the
- there's a lot of opportunities on the github page just to jump in and grab a
- github page just to jump in and grab a
- github page just to jump in and grab a ticket and do it um also like you can
- ticket and do it um also like you can
- ticket and do it um also like you can always just reach out to me and i'd be
- always just reach out to me and i'd be
- always just reach out to me and i'd be happy to plug in this way or that way um
- happy to plug in this way or that way um
- happy to plug in this way or that way um in terms of some of our more the bigger
- in terms of some of our more the bigger
- in terms of some of our more the bigger projects that i was talking about if
- projects that i was talking about if
- projects that i was talking about if people want to are interested more in
- people want to are interested more in
- people want to are interested more in the big think of it or how we go about
- the big think of it or how we go about
- the big think of it or how we go about the bigger issues just go ahead and
- the bigger issues just go ahead and
- the bigger issues just go ahead and reach out you know i know that there's a
- reach out you know i know that there's a
- reach out you know i know that there's a lot of interest in the tech world and
- lot of interest in the tech world and
- lot of interest in the tech world and police accountability and some of these
- police accountability and some of these
- police accountability and some of these other stories and you know your talent
- other stories and you know your talent
- other stories and you know your talent and your knowledge is something that we
- and your knowledge is something that we
- and your knowledge is something that we could probably learn from so would be
- could probably learn from so would be
- could probably learn from so would be happy to really talk with anybody
- happy to really talk with anybody
- happy to really talk with anybody awesome
- awesome
- awesome then unless you have anything else you
- then unless you have anything else you
- then unless you have anything else you want to share i really really appreciate
- want to share i really really appreciate
- want to share i really really appreciate you coming on uh prefix live and
- you coming on uh prefix live and
- you coming on uh prefix live and anything else for for the crew out there
- anything else for for the crew out there
- anything else for for the crew out there no i mean thanks for having me um thanks
- no i mean thanks for having me um thanks
- no i mean thanks for having me um thanks for creating kind of a positive
- for creating kind of a positive
- for creating kind of a positive community thanks for putting up with my
- community thanks for putting up with my
- community thanks for putting up with my coughing i had i had a non-covered flu
- coughing i had i had a non-covered flu
- coughing i had i had a non-covered flu last week which i think i'm mostly over
- last week which i think i'm mostly over
- last week which i think i'm mostly over but i'm not quite there yet absolutely
- but i'm not quite there yet absolutely
- but i'm not quite there yet absolutely well thanks for being a part of the
- well thanks for being a part of the
- well thanks for being a part of the community and i think you
- community and i think you
- community and i think you along with everyone else but you have
- along with everyone else but you have
- along with everyone else but you have helped to contribute to that positive
- helped to contribute to that positive
- helped to contribute to that positive community so that's that's you for sure
- community so that's that's you for sure
- community so that's that's you for sure too so thanks everyone for watching um
- too so thanks everyone for watching um
- too so thanks everyone for watching um and we'll see you soon see you ben
- and we'll see you soon see you ben
- and we'll see you soon see you ben thank you
Scaling up scrapers with Prefect and Google Cloud
By Ben Welsh • • Prefect Live in Twitch