Thursday, December 22, 2011

Huge archive of scanned 73 Magazine

Stephen, VK2BLQ, sent around an email pointing to a great archive of scanned issues of a popular ham radio magazine from my childhood, "73 Amateur Radio".

They come up in a rather strange order, like all the Decembers together, but they are high resolution scans saved as PDFs so perfect for reading on an iPad for inspiration.

It's a great way to see the march of technology from 1961 through to 2003.

Early editions are valve technology, later there are hybrid rigs with solid state drive to a valve final. Gradually digital frequency displays creep in and there's a marvellous time when having an LED is a feature worth advertising.

There's lots of ads featuring girls with big hair caressing equipment.

This collection, for me, represents what may be a golden age, before everything in electronics just turns into computer chips surrounded by surface mount components.

A few of the home brew group seemed interested in grabbing the set for later viewing so I wrote a little python script to download them from to share around. (I think I'm being throttled but it's going pretty well).

Download pdfs of 73 magazine.

Items at:
import os
import urllib2

MONTHS = ('January', 'February', 'March', 'April', 'May', 'June',
          'July', 'August', 'September', 'October', 'November', 'December')

END_YEAR = 2003
OUTPUT_DIR = "73 Magazine"
MISSING = ('73 Magazine/73-Magazine-1975_11.pdf',
'73 Magazine/73-Magazine-1975_12.pdf',)

def main():
    if not os.path.exists(OUTPUT_DIR):

    for year in range(START_YEAR, END_YEAR + 1):
        for month in range(1,13):
            monthName = MONTHS[month - 1]
            fileName = "%s/73-Magazine-%d_%d.pdf" % (OUTPUT_DIR, year, month)
            if not os.path.exists(fileName) and fileName not in MISSING:
                editionString = "%d-%02d/%02d_%s_%d" % (year, month, month, monthName, year)
                url = "" % editionString
                print("Downloading: %s..." % url)
                print("To: %s" % fileName)
                pdfData = urllib2.urlopen(url).read()
                outFile = open(fileName, "wb")
                print("Skipping: %s" % fileName)

if __name__ == "__main__":

If you stop the script and re-start it, it will not re-download any that it has. Otherwise it's pretty basic stuff.

Thanks! Look out for the ladies with tech:

1 comment:

flathagen said...

Excellent script! Thank you.