我有这个
<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>
我需要
<a href=""><img src="" alt= ""></a>
答案 0 :(得分:0)
我尝试了以下程序,它适用于您的输入。看看吧。
import re
s='<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>'
r=re.sub('".*?"','""',s)
print r
它会打印出来:
<a href=""><img src="" alt=""></a>
答案 1 :(得分:0)
使用正则表达式尝试它并没有给我预期的结果。我最终解决了这个问题的代码。 我真的更灵活,更有活力。还允许将结果保存到新的html文件中
import random
import os
import subprocess
from lxml import html
from lxml.html.clean import clean_html
from lxml.html import tostring, html5parser
import glob
from lxml import html
#print glob.glob("*.html")
for itemfile in glob.glob("*.html"):
if os.path.isfile(itemfile):
f = open(itemfile, 'rb')
data = f.read()
f.close()
dochtml = html.fromstring(data)
for element, attribute, link, pos in dochtml.iterlinks():
if element.tag in ("img","a"):
if attribute == "src":
element.set('src', "")
element.set('alt', "")
if attribute == "href":
element.set('href', "")
#print tostring(dochtml)
parser = tostring(dochtml, method='html')
f = open(itemfile[:itemfile.find(".html")] + "_parser.html", 'wb')
f.write(parser)
f.close()
else:
print 'not file.'
答案 2 :(得分:0)
使用BeautifulSoup这么容易......我不知道你为什么要使用这么多代码。这将用空字符串替换此href,alt和src标记中的内容。
我将使用此代替lxml ...
from bs4 import BeautifulSoup
soup = BeautifulSoup('<a href="http://helloword.com"><img src="hola.png" alt="hola"></a>', 'html.parser')
href = soup.find('a').attrs.get('href')
alt = soup.find('img').attrs.get('alt')
src= soup.find('img').attrs.get('src')
text = str(soup).replace(href, '').replace(src,'').replace(alt,'')
print text