# html-to-kwic-2.py import dh # create dictionary of n-grams n = 7 url = 'file:///C:/Documents%20and%20Settings/HP_Administrator/Desktop/ProgrammingHistorian/dcb-34298.html' # url = 'http://www.biographi.ca/EN/ShowBioPrintable.asp?BioId=34298' text = dh.webPageToText(url) fullwordlist = ('# ' * (n//2)).split() fullwordlist += dh.stripNonAlphaNum(text) fullwordlist += ('# ' * (n//2)).split() ngrams = dh.getNGrams(fullwordlist, n) worddict = dh.nGramsToKWICDict(ngrams) # output KWIC and wrap with HTML target = 'iroquois' outstr = '<pre>' if worddict.has_key(target): for k in worddict[target]: linkname = dh.prettyPrintKWIC(k) keywords = dh.removeStopwords(k, dh.stopwords) outstr += dh.keywordListToGoogleSearchLink(keywords, linkname) # outstr += '<br />' else: outstr += 'Keyword not found in source' outstr += '</pre>' dh.wrapStringInHTML('html-to-kwic-2', url, outstr)
# create tag cloud cloudsize = 40 maxfreq = sorteddict[0][0] minfreq = sorteddict[cloudsize][0] freqrange = maxfreq - minfreq tempstring = '' resorteddict = dh.reSortFreqDictAlpha(sorteddict[:cloudsize]) for k in resorteddict: kfreq = k[0] klabel = dh.undecoratedHyperlink('#'+k[1], k[1]) scalingfactor = (kfreq - minfreq) / float(freqrange) tempstring += dh.scaledFontSizeSpan(klabel, scalingfactor) outstring = dh.defaultCSSDiv(tempstring) + '<br />' # create KWIC listings for each item for k in resorteddict: klabel = k[1] tempstring = '' tempstring += '<a name=\"%s\">%s</a> ' % (klabel, klabel) tempstring += dh.undecoratedHyperlink('#', '[back]') outstring += dh.defaultCSSDiv(tempstring, opt='font-size : 24px;') outstring += '<p><pre>' for t in worddict[klabel]: outstring += dh.prettyPrintKWIC(t) outstring += '<br />' outstring += '</pre></p>' # open in Firefox dh.wrapStringInHTML("html-to-tag-cloud-kwic", url, outstring)#!/usr/bin/env python
# html-to-kwic.py import dh # create dictionary of n-grams n = 7 # NB Local copy; clean this up! url = 'file:///C:/Documents%20and%20Settings/HP_Administrator/Desktop/ProgrammingHistorian/dcb-34298.html' # url = 'http://www.biographi.ca/EN/ShowBioPrintable.asp?BioId=34298' text = dh.webPageToText(url) fullwordlist = ('# ' * (n//2)).split() fullwordlist += dh.stripNonAlphaNum(text) fullwordlist += ('# ' * (n//2)).split() ngrams = dh.getNGrams(fullwordlist, n) worddict = dh.nGramsToKWICDict(ngrams) # output KWIC and wrap with HTML target = 'dictionary' outstr = '<pre>' if worddict.has_key(target): for k in worddict[target]: outstr += dh.prettyPrintKWIC(k) outstr += '<br />' else: outstr += 'Keyword not found in source' outstr += '</pre>' dh.wrapStringInHTML('html-to-kwic', url, outstr)