Gerando um arquivo OPML, depressa

Hoje de manhã eu precisei transformar alguns links de um html para o formato OPML, para importar num wordpress. Operação fácil de se fazer, basta apenas a ferramenta certa, no meu caso, Python ;)

No links.txt, eu copiei/colei o trecho html que tinha os links da página que eu queria exportar em OPML.

from lxml import etree
parser = etree.HTMLParser()
broken_html = open(‘links.txt’,‘r’)
tree   = etree.parse(broken_html, parser)

raiz = etree.Element(u‘opml’)
head = etree.SubElement(raiz, ‘head’)
titulo = etree.SubElement(head, ‘title’)
body = etree.SubElement(raiz,‘body’)

for e in tree.xpath(‘//a’):
    outline = etree.SubElement(body,‘outline’)
    outline.attrib[‘text’] = e.text
    outline.attrib[‘title’] = e.text
    outline.attrib[‘type’] = ‘rss’
    outline.attrib[‘version’] = ‘RSS’
    outline.attrib[‘xmlUrl’] = e.attrib[‘href’]
    outline.attrib[‘htmlUrl’] = e.attrib[‘href’]

print(etree.tostring(raiz,pretty_print=True))
 

Redirecionei a saída pra um xml, e voi-lá! Tempo médio de preparo, 10 minutos, servir quente.

Esta entrada foi publicada em Python e marcada com a tag , . Adicione o link permanente aos seus favoritos.

3 respostas a Gerando um arquivo OPML, depressa

  1. Ola Walter
    Vim te pedir um socorrooooooooo!!!!
    Como vc, preciso gerar um arquivo opml para postar no novo blog do wordpress.
    Mas nao estou conseguindo!!!
    Nao sei o q fiz de errado q nao foi migrado o conteudo do live spaces.. e estou muito sentida por perde-los.
    Nao entendi bem como posso fazer. Me explica melhor por favor?

    Tenho uma lista de html.. 1 ano de postagens! Nao quero perder..

    Grata desde ja
    Vivian

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">