Existe uma maneira rápida de alterar vários links em um arquivo HTML?

0

Eu tenho um arquivo HTML contendo o código de um mapa de imagem com mais de 200 links, como este:

<area shape="RECT" coords="410, 7, 438, 35" href="/ItemDetails.jsp?item=os_landranger_1"/>

O problema é que os links reais estão incorretos: eu preciso substituí-los por URLs corretos, que são derivados de um título de produto e número de referência, que eu tenho em um arquivo CSV.

Essencialmente, eu preciso de um Find and Replace especializado que leia o primeiro link, obtenha o título e ref. não. do CSV e insira-os no HTML no formato correto (isto é, com espaços substituídos por _) antes de ir para o próximo, e assim por diante. Os links precisam sair do outro lado assim:

<area shape="RECT" coords="410, 7, 438, 35" href="product/1_-_Shetland_%C2%96_Yell%2C_Unst_and_Fetlar_9780319228074" />

Neste caso, o título no CSV seria "1 - Shetland - Yell, Unst e Fetlar" e a ref. não. seria 9780319228074

Existe alguma maneira de fazer isso, de preferência de graça?

EDITAR:

Eu consegui fazer isso usando o Excel. Primeiro importei as tags em uma pasta de trabalho em branco como CSV, dizendo ao Excel para usar "como o delimitador. Em seguida, importei a lista de títulos para uma nova coluna e reconstruí a tag em uma célula vazia com o operador & usando a lista de títulos para substituir o URL antigo.Um pouco de localizar e substituir para converter vírgulas e e comercial em códigos HTML, em seguida, copiar e colar da fórmula para o resto das linhas e voila, sucesso.

Obrigado a todos que responderam.

    
por ElendilTheTall 02.06.2011 / 15:54

2 respostas

1

Esta é uma pesquisa e substituição bastante complicada. Eu pessoalmente não conheço nenhum editor que possa fazer isso. Como os links na página agora estão correlacionados ao arquivo CSV?

No entanto, é fácil fazer isso em um script. Não é difícil de montar em um script perl (ou python, o que você preferir). Você tem habilidades de script ou conhece alguém que tenha?

    
por 02.06.2011 / 16:54
0

Se eles compartilham um sistema de pedidos (ou o csv pode ser ordenado para se ajustar ao arquivo HTML atual), você pode usar localizar e substituir para substituir href com ';' e usar texto em colunas para obter o = ... Se o seu pedido é o mesmo, você pode simplesmente substituir a coluna inteira (lembre-se de adicionar / > ao final da linha, e leia a parte href. Se não houver um esquema de pedido, baseado no que eu pode ver (na amostra fornecida acima), não há nada que você possa fazer.

    
por 02.06.2011 / 16:01