Is it possible to write an Jupyter notebook such that parameters can be passed in via the URL of the notebook?
Example, for a URL such as this:
http:
You just need to take the values with javascript and push them to the ipython kernel like in the John Schmitt's link.
Cell [1]:
%%javascript
function getQueryStringValue (key)
{
return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
}
IPython.notebook.kernel.execute("Var1='".concat(getQueryStringValue("Variable1")).concat("'"));
IPython.notebook.kernel.execute("Var2='".concat(getQueryStringValue("Variable2")).concat("'"));
And in another cell you can retrieve the python variables named Var1 and Var2:
>>>print Var1
Value1
And:
>>>print Var2
Value2
You need to find out the URL using JavaScript and pass it to the IPython kernel:
from IPython.display import HTML
HTML('''
<script type="text/javascript">
IPython.notebook.kernel.execute("URL = '" + window.location + "'")
</script>''')
or:
%%javascript
IPython.notebook.kernel.execute("URL = '" + window.location + "'");
Then in the next cell:
print(URL)
After this you can use the tools in the standard library (or plain string operations) to pull out the query parameters.