Download / exportação de um arquivo csv quando clicado em um botão no web.py python

Estou usando pythonweb.py framework para construir um pequeno aplicativo web.

Consiste em um

Home page que usa um URL como entradaLêanchor text eanchor tags a partir deleGrava no arquivo csv e faz o download

Aqui os passos 2 e 3 acontecem quando clicamos em umexport the links botão, abaixo está o meu código

code.py

import web
from web import form
import urlparse
from urlparse import urlparse as ue
import urllib2
from BeautifulSoup import BeautifulSoup
import csv
from cStringIO import StringIO

urls = (
    '/', 'index',
    '/export', 'export',
)

app =  web.application(urls, globals())
render = web.template.render('templates/')

class index:
    def GET(self):
        return render.home()


class export:

    def GET(self):
        i = web.input()
        if i.has_key('url') and i['url'] !='':
            url = i['url'] 
            page = urllib2.urlopen(url)
            html = page.read()
            page.close()


            decoded = ue(url).hostname
            if decoded.startswith('www.'):
                decoded = ".".join(decoded.split('.')[1:])
            file_name = str(decoded.split('.')[0])

            csv_file = StringIO()
            csv_writer = csv.writer(csv_file)
            csv_writer.writerow(['Name', 'Link'])

            soup = BeautifulSoup(html)
            for anchor_tag in soup.findAll('a', href=True):     
                csv_writer.writerow([anchor_tag.text,anchor_tag['href']]) 
            web.header('Content-Type','text/csv')       
            web.header('Content-disposition', 'attachment; filename=%s.csv'%file_name)
            return csv_file.getvalue()

if __name__ == "__main__":
    app.run()

home.html:

$def with()
<html>
 <head>
   <title>Home Page</title>
 </head>
 <body>
     <form method="GET" action='/export'>
        <input type="text" name="url" maxlength="500" />
        <input class="button" type="submit" name="export the links" value="export the links" />
      </form>
 </body>
</html>

O código html acima exibe um formulário com uma caixa de texto que usa um URL e um botãoexport the links botão quedownloads/exports o arquivo csv com os links e texto da tag de âncora.

Por exemplo quando nós submetemoshttp://www.google.co.in e cliqueexport the links, todos os urls âncora e texto âncora estão salvando no arquivo csv e baixando com sucesso

mas por exemplo, quando damos o outro url comohttp://stackoveflow.com imediatamente e cliqueexport the links botão, o arquivo csv (criado com o nome de domínio da url, como mostrado no código acima) está baixando com links de tag, mas o arquivo csv baixado também contém os dados (texto âncora e links) do URL anterior que éhttp://www.google.co.in.

Isso é que os dados estão sobrecarregando no mesmo arquivo csv de URLs diferentes, alguém pode por favor me avise o que está errado no código acima (export class) que gera o arquivo csv, por que os dados são sobrescritos em vez de criar um novo arquivo csv com o nome diferente criado dinamicamente?

Finalmente, minha intenção é fazer o download / exportar um novo arquivo csv com o nome de domínio (fatiado como acima no meu código) da url, gravando os dados (URL e url da tag de âncora) da url nele toda vez que dermos a nova url .

Alguém pode estender / fazer alterações necessárias ao meu código acima para baixar um arquivo CSV individual para url individual .........

questionAnswers(0)

yourAnswerToTheQuestion