title: How to download and write a file from Github using Requests
body: <p>Lets say there's a file that lives at the github repo:</p>
  
  <p><a href="https://github.com/someguy/brilliant/blob/master/somefile.txt" rel="noreferrer">https://github.com/someguy/brilliant/blob/master/somefile.txt</a></p>
  
  <p>I'm trying to use requests to request this file, write the content of it to disk in the current working directory where it can be used later. Right now, I'm using the following code:</p>
  
  <pre><code>import requests
  from os import getcwd
  
  url = "https://github.com/someguy/brilliant/blob/master/somefile.txt"
  directory = getcwd()
  filename = directory + 'somefile.txt'
  r = requests.get(url)
  
  f = open(filename,'w')
  f.write(r.content)
  </code></pre>
  
  <p>Undoubtedly ugly, and more importantly, not working. Instead of the expected text, I get:</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;!--
  
  Hello future GitHubber! I bet you're here to remove those nasty inline styles,
  DRY up these templates and make 'em nice and re-usable, right?
  
  Please, don't. https://github.com/styleguide/templates/2.0
  
  --&gt;
  &lt;html&gt;
    &lt;head&gt;
      &lt;meta http-equiv="Content-type" content="text/html; charset=utf-8"&gt;
      &lt;title&gt;Page not found &amp;middot; GitHub&lt;/title&gt;
      &lt;style type="text/css" media="screen"&gt;
        body {
          background: #f1f1f1;
          font-family: "HelveticaNeue", Helvetica, Arial, sans-serif;
          text-rendering: optimizeLegibility;
          margin: 0; }
  
        .container { margin: 50px auto 40px auto; width: 600px; text-align: center; }
  
        a { color: #4183c4; text-decoration: none; }
        a:visited { color: #4183c4 }
        a:hover { text-decoration: none; }
  
        h1 { letter-spacing: -1px; line-height: 60px; font-size: 60px; font-weight: 100; margin: 0px; text-shadow: 0 1px 0 #fff; }
        p { color: rgba(0, 0, 0, 0.5); margin: 20px 0 40px; }
  
        ul { list-style: none; margin: 25px 0; padding: 0; }
        li { display: table-cell; font-weight: bold; width: 1%; }
        #error-suggestions { font-size: 14px; }
        #next-steps { margin: 25px 0 50px 0;}
        #next-steps li { display: block; width: 100%; text-align: center; padding: 5px 0; font-weight: normal; color: rgba(0, 0, 0, 0.5); }
        #next-steps a { font-weight: bold; }
        .divider { border-top: 1px solid #d5d5d5; border-bottom: 1px solid #fafafa;}
  
        #parallax_wrapper {
          position: relative;
          z-index: 0;
        }
        #parallax_field {
          overflow: hidden;
          position: absolute;
          left: 0;
          top: 0;
          height: 370px;
          width: 100%;
        }
  </code></pre>
  
  <p>etc etc.<br>
  <br> 
  Content from Github, but not the content of the file. What am I doing wrong?</p>