Friday, December 23, 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 archive.org to share around. (I think I'm being throttled but it's going pretty well).


#!/usr/bin/python
"""
Download pdfs of 73 magazine.


Items at: http://www.archive.org/download/73-magazine-1968-09/09_September_1968.pdf
"""
import os
import urllib2


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


START_YEAR = 1961
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):
        os.mkdir(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 = "http://www.archive.org/download/73-magazine-%s.pdf" % editionString
                print("Downloading: %s..." % url)
                print("To: %s" % fileName)
                pdfData = urllib2.urlopen(url).read()
                outFile = open(fileName, "wb")
                outFile.write(pdfData)
                outFile.close()
            else:
                print("Skipping: %s" % fileName)


if __name__ == "__main__":
    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 archive.org! Look out for the ladies with tech:


1 comment:

flathagen said...

Excellent script! Thank you.