Luna: Taking My Photos Back - Part 1 : Motivation & Description

Digital Photos are probably the most personal digital-relics from my life.

Tech companies want this foothold, and I'm going to try to opt-out with as few compromises as possible.

From a data perspective, my photo and video collection is the most complex and interesting of data sets that I interact with regularly.

This is an opportunity to explore and to use the data in interesting ways. I can build interesting things on top of it, and use the data to experiment with different approaches, UI patterns, or technologies in a way that is meaningful to me.

The fact that ...

read more...


Podcast Scraping: Radiolab

Radiolab seems to make their page out of javascript. that made it slightly more annoying to find the right download link, but otherwise it's straight forward.


import time
import requests
from bs4 import BeautifulSoup
import os.path
def download(href, title, extension="mp3", dirname='.'):
    print(href, title, extension, dirname)
    filename = "%s.%s" % (title, extension)
    filename = filename.replace("/", "-")
    # todo, path management
    local_filename = os.path.join(dirname, filename)
    if not os.path.exists(dirname):
        print("making dir %s" % dirname)
        os.makedirs(dirname)
    local_filename = os.path.join(dirname, filename)
    r = requests.get(href, stream=True)
    with open(local_filename, 'wb') as f:
        for ...

read more...


Podcast Scraping: 99Percent Invisible

Today in desert island podcast scraping:

99 Percent Invisible

import time
import requests
from bs4 import BeautifulSoup
import os.path
def download(href, title, extension="mp3", dirname='.'):
    filename = "%s.%s" % (title, extension)
    filename = filename.replace("/", "-")
    # todo, path management
    local_filename = os.path.join(dirname, filename)
    if not os.path.exists(dirname):
        print("making dir %s" % dirname)
        os.makedirs(dirname)
    local_filename = os.path.join(dirname, filename)
    r = requests.get(href, stream=True)
    with open(local_filename, 'wb') as f:
        for chunk in r.iter_content(chunk_size=1024):
            if chunk: # filter out keep-alive new chunks
                f.write(chunk)
    return local_filename
for i in range(1 ...

read more...


Desert Island Two: Planet Money

Desert Island Media Prep Day Two: Planet Money.



#https://www.npr.org/sections/money/127413729/planet-money/archive?date=12-31-2017
## Check out the date at the end? last day of month is the archive page
# Weird episode numbering, going to make folders so they stay in roughly date order
import time
import requests
from bs4 import BeautifulSoup
import os.path
def download(href, title, extension="mp3", dirname='.'):
    filename = "%s.%s" % (title, extension)
    filename = filename.replace("/", "-")
    # todo, path management
    local_filename = os.path.join(dirname, filename)
    if not os.path.exists(dirname):
        print("making dir %s" % dirname)
        os.makedirs(dirname)
    local_filename = os.path ...

read more...



Issac Kelly