Skip to content

Instantly share code, notes, and snippets.

@brazilbean
Created May 6, 2013 22:05
Show Gist options
  • Save brazilbean/5528615 to your computer and use it in GitHub Desktop.
Save brazilbean/5528615 to your computer and use it in GitHub Desktop.
IPython Notebook for crawling the LDS Scriptures footnote network (scriptures.lds.org). It uses BeautifulSoup (http://www.crummy.com/software/BeautifulSoup/).
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "Scripture Crawler - GraphML"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Imports\n",
"import os\n",
"\n",
"from bs4 import BeautifulSoup\n",
"import urllib\n",
"import codecs\n",
"from unidecode import unidecode\n",
"\n",
"import networkx as nx\n",
"\n",
"import re\n",
"\n",
"import numpy as num\n",
"from numpy import matlib\n",
"\n",
"# Setup\n",
"os.chdir('/Users/brazilbean/Documents/Programming/Python Notebooks/')\n",
"\n",
"# Define functions\n",
"def parseNoteUri( relstr ):\n",
" foo = re.search(r\"noteUri=(\\S+)&\", relstr.encode(\"ascii\"))\n",
" if foo is not None:\n",
" return foo.group(1)\n",
" else:\n",
" return None\n",
" \n",
"def makeURL( uri ):\n",
" domainURL = 'http://www.lds.org';\n",
" return \"{}{}?lang=eng#primary\".format(domainURL, uri);\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Couldn't import dot_parser, loading of dot files will not be possible.\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"## Outline\n",
"# Get starting scripture\n",
"# Create URL\n",
"# Parse footnotes\n",
"# Follow footnotes - make graph\n",
"# Print graph\n",
"\n",
"## TODO\n",
"# Unify overlapping references\n",
"# Obtain initial URL from search feature\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"## All together now!\n",
"# Starting URL\n",
"volume = 'bofm';\n",
"book = '1-ne';\n",
"chapter = 3;\n",
"verse = 7;\n",
"noteUri = \"/scriptures/{}/{}/{}.{}\".format(volume, book, chapter, verse);\n",
"\n",
"nicetext = {};\n",
"#nicetext[noteUri] = '1 Nephi 1:1';\n",
"nicetext[noteUri] = '1 Nephi 3:7';\n",
"\n",
"hops = 2;\n",
"\n",
"# Output\n",
"#outfile = open('graphoutput.txt', 'w');\n",
"#outfile = codecs.open('{}_{}_{}_{}.txt'.format(book, chapter, verse, hops), 'w', encoding='utf-8');\n",
"#outfile = open('{}_{}_{}_{}.txt'.format(book, chapter, verse, hops), 'w');\n",
"graph = nx.Graph();\n",
"\n",
"uris = [noteUri];\n",
"alluris = {};\n",
"alluris[noteUri] = 1;\n",
"\n",
"for hop in range(0,hops):\n",
" newuris = [];\n",
" for uri in uris:\n",
" # Get next URL\n",
" url = makeURL( uri );\n",
" \n",
" # Get verse\n",
" if not re.match(r'/scriptures/tg', uri):\n",
" print url\n",
" soup = BeautifulSoup(urllib.urlopen( url ))\n",
" for versetag in soup(class_='highlight'):\n",
" \n",
" # Get footnotes\n",
" footnotes = versetag(class_=\"footnote\")\n",
" for footnote in footnotes:\n",
" # Open footnote URL\n",
" tmp = BeautifulSoup(urllib.urlopen( footnote[\"rel\"][0] ));\n",
" \n",
" # Save footnote links and text and create edges\n",
" links = tmp(class_=\"load\")\n",
" for link in links:\n",
" key = parseNoteUri( link[\"rel\"][0] );\n",
" \n",
" # Nice text\n",
" nice = unidecode( link.get_text() ).encode('ascii','replace');\n",
" \n",
" if link.span is None and re.search(r'isTG=true', link[\"rel\"][0]):\n",
" nice = 'TG ' + nice;\n",
"\n",
" # Fix consecutive references to the same book\n",
" book_cur = re.search(r'\\/scriptures\\/[^\\/]+\\/([^\\/]+)', key).group(1);\n",
" if book_cur == book:\n",
" nice = bookstr + nice;\n",
" book = book_cur\n",
" bookstr = re.search(r'(.+ )\\d+:\\d', nice);\n",
" if bookstr is not None:\n",
" bookstr = bookstr.group(1);\n",
" else:\n",
" bookstr = '';\n",
" \n",
" # Save URI to avoid repeating visited references\n",
" if key not in alluris:\n",
" newuris.append( key );\n",
" alluris[key] = 1;\n",
" \n",
" # Save nice text\n",
" if key not in nicetext:\n",
" nicetext[key] = nice;\n",
" \n",
" # Write edge\n",
" graph.add_edge(nicetext[uri], nicetext[key]);\n",
" #print u\"{}\\t{}\\n\".format(nicetext[uri], nicetext[key]);\n",
" \n",
" uris = newuris;\n",
" \n",
"#outfile.close();\n",
"nx.write_graphml(graph, '{}_{}_{}_{}.graphml'.format(book, chapter, verse, hops));"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"http://www.lds.org/scriptures/bofm/1-ne/3.7?lang=eng#primary\n",
"http://www.lds.org/scriptures/ot/1-sam/17.32?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"http://www.lds.org/scriptures/ot/1-kgs/17.15.11-15?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"http://www.lds.org/scriptures/ot/gen/18.14?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"http://www.lds.org/scriptures/nt/philip/4.13?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"http://www.lds.org/scriptures/bofm/1-ne/17.3,50?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"http://www.lds.org/scriptures/dc-testament/dc/5.34?lang=eng#primary"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nx.draw(graph)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\nzkqxs5fyEJsyZYpoNJo8j7fffrvAskuWLJFmzZrlWRYaGiq+vr5y6tQpiYuLk06dOomjo6OEhITI\nuHHjpHXr1iIisn37dqldu7bY29uLm5ubDBgwQG7cuCEiprG6HTp0KLSNAwcOzNfGpUuXmtdfuHBB\nbGxs5K+//hI3e3s5eUsP5hkgHW55vRhEc9tjcM66CBAPEK21tXh4eEj37t3l5MmTRb5/DRo0yDPO\n905tzV1mZWVl/lmUoso3a9ZMnJycxNHRUerUqSNr167NU9cS43yvXbsmdnZ2Eh4eXmS59PR0GTNm\njPj7+4unp6cMGzZM0tLSRETk559/Fh8fH5k9e7Z4eHiIl5eXLF68WLKysqS8h4dEFTO5yACQqbct\n66vRiFvZsuZ2pKSkiEajkcuXLxfZ3s8//1xatmxZ4LqXXnpJ5s+fLy1btpQvv/yyhO+Y8l+jgq9i\ncW+++eYdhy/db2Nfe03GFmOoUUGPbJDKdnaye/fuYu9v27ZtDyzD1b2IjY2VoKCgB57h6ocffhCt\nVivZ2dlFlhs1apR069ZNEhMTJTk5Wbp06SITJkwQEVPw1Wq1MmXKFMnKypLNmzeLwWCQ3bt3SyV7\nezHeQ/Ddl/MFKyoqSrKysmTu3Lny2GOPmdv17rvvSufOnfO1t7DgGxUVJQ0aNBCj0aiCr1IsKvgq\nD9zx48fl8OHDYjQaJSoqStzc3OS7776zaBtOnjwpbjqdJN5F8N0IElyhgppovASWL18u5cqVy7Os\nUaNG4uzsLHq9XiIjI8VoNIqdnZ38888/5jK//vqrlC9fXkRMwVev1+cJ4B4eHjJv3jxp4eRU7N9f\nQcE3Kyf4arVa0Wq14u7uLvv27bvjcRUUfLOysqR+/frmKx0q+CrFUbxeKIpyD5KTk+nXrx8xMTF4\nenoyduzYPPcgLcHX1xfvgAA6RkfzswjF7ft8Anher2fFZ5+p+3gl4OrqSnx8PEajESsrU9eS3OFO\nfn5+GI1G4uLiSE1NpV69euZ6IpLnXrirq6u5PpiGHKWlpd1z+zZiypySOyZ769atdO7cmYMHD+Ll\n5VWibc2fP5/atWvnyWgmxRwloPx3qeCrPHD169fn77//LrX9x8TE0KNHDyrXrIlUqMCTO3eyPjWV\nsneoFwV01+t5b9482rRpY4mmPjIaNWqEra0t3377LT169CiwjJubG3q9nqNHj5Yo4Dk6OhJ7W8e6\n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\nOy3h/MthAAAAAElFTkSuQmCC\n"
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"## Debug stuff\n",
"# Define starting scripture\n",
"start = '1 nephi 1:1';\n",
"\n",
"# Create URL\n",
"# example: http://www.lds.org/scriptures/bofm/1-ne/1.1?lang=eng#primary\n",
"domainURL = 'http://www.lds.org';\n",
"#volume = 'dc-testament';\n",
"#book = 'dc';\n",
"#chapter = 24;\n",
"#verse = 13;\n",
"#volume = 'bofm';\n",
"#book = '1-ne';\n",
"#chapter = 3;\n",
"#verse = 7;\n",
"\n",
"volume = 'dc-testament';\n",
"book = 'dc';\n",
"chapter = 24;\n",
"verse = 13;\n",
"\n",
"# URL = domain/volume/book/chapter.verse?lang=eng#primary\n",
"url = \"{}/scriptures/{}/{}/{}.{}?lang=eng\".format(domainURL, volume, book, chapter, verse);\n",
"url\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 25,
"text": [
"'http://www.lds.org/scriptures/dc-testament/dc/24.13?lang=eng'"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Get verse HTML\n",
"soup = BeautifulSoup(urllib.urlopen( url ))\n",
"versetag = soup(class_='highlight')[0]\n",
"versetag\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 26,
"text": [
"<p class=\"highlight\" uri=\"/scriptures/dc-testament/dc/24.13\"><a class=\"bookmark-anchor dontHighlight\" name=\"13\">\u00a0</a><span class=\"verse\">13\u00a0</span>Require not <sup class=\"studyNoteMarker\"><marker>a</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13a\">miracles</a>, except I shall <sup class=\"studyNoteMarker\"><marker>b</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13b\">command</a> you, except <sup class=\"studyNoteMarker\"><marker>c</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13c\">casting</a> out <sup class=\"studyNoteMarker\"><marker>d</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13d\">devils</a>, <sup class=\"studyNoteMarker\"><marker>e</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13e\">healing</a> the sick, and against <sup class=\"studyNoteMarker\"><marker>f</marker></sup><a class=\"footnote\" href=\"#\" rel=\"http://www.lds.org/scriptures/footnote?lang=eng&amp;volumeUri=dc-testament&amp;bookUri=dc&amp;chapterUri=24&amp;noteID=13f\">poisonous</a> serpents, and against deadly poisons;</p>"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"book = '';\n",
"bookstr = '';\n",
"for link in versetag(class_='footnote'):\n",
" tmp = BeautifulSoup( urllib.urlopen(link['rel'][0]) );\n",
" for a in tmp(class_='load'):\n",
" #print a\n",
" noteUri = a['rel'][0].encode('ascii','replace');\n",
" print noteUri\n",
" \n",
" nice = unidecode( a.get_text() ).encode('ascii','replace');\n",
" if a.span is None and re.search(r'isTG=true', noteUri):\n",
" nice = 'TG ' + nice;\n",
" \n",
" # Get nice book string\n",
" book_cur = re.search(r'=\\/scriptures\\/[^\\/]+\\/([^\\/]+)', noteUri).group(1);\n",
" if book_cur == book:\n",
" nice = bookstr + nice;\n",
" book = book_cur\n",
" \n",
" bookstr = re.search(r'(.+ )\\d+:\\d', nice);\n",
" if bookstr is not None:\n",
" bookstr = bookstr.group(1);\n",
" else:\n",
" bookstr = '';\n",
" \n",
" print nice"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/nt/matt/4.7.5-7&isReference=true\n",
"Matt. 4:7 (5-7)\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/tg/miracle&isTG=true\n",
"TG Miracle\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/tg/sign-seekers&isTG=true\n",
"TG Sign Seekers\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/bofm/1-ne/7.12&isReference=true"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"1 Ne. 7:12\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/bofm/1-ne/17.50&isReference=true\n",
"1 Ne. 17:50\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/nt/mark/16.17.17-18&isReference=true"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Mark 16:17 (17-18)\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/tg/devil&isTG=true"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"TG Devil\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/tg/heal&isTG=true"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"TG Heal\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/nt/acts/28.3.3-9&isReference=true"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Acts 28:3 (3-9)\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/dc-testament/dc/84.72.71-72&isReference=true\n",
"D&C 84:72 (71-72)\n",
"http://www.lds.org/scriptures/footnote/detail?lang=eng&noteUri=/scriptures/dc-testament/dc/124.99.98-100&isReference=true\n",
"D&C 124:99 (98-100)\n"
]
}
],
"prompt_number": 51
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"tmp = BeautifulSoup( urllib.urlopen(versetag(class_='footnote')[2]['rel'][0]) );\n",
"tmp(class_='load')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 15,
"text": [
"[]"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Testing\n",
"tmp = BeautifulSoup( urllib.urlopen( footnotes[1][\"rel\"][0] ) )\n",
"foo = tmp(class_=\"load\")[0][\"rel\"][0]\n",
"#print re.search(r\"noteUri=(.+)&\", foo).group(1)\n",
"parseNoteUri(foo)\n",
"\n",
"# More testing\n",
"foo = tmp(class_=\"load\")[0]\n",
"foo.text\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 99,
"text": [
"u'Prov. 22:1'"
]
}
],
"prompt_number": 99
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nice"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 41,
"text": [
"'124:99 (98-100)'"
]
}
],
"prompt_number": 41
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"re.search(r'(.+)\\d+:\\d', 'Matt. 4:7 (5-7)').group(1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 47,
"text": [
"'Matt. '"
]
}
],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range(0,3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 144,
"text": [
"[0, 1, 2]"
]
}
],
"prompt_number": 144
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment