我知道可能有一百万个问题,但我想知道如何删除这些标签,而无需导入或使用 HTMLParser 或正则表达式。我尝试了一堆不同的替换语句来尝试删除 包含的部分字符串,但无济于事。
基本上我正在处理的是:
response = urlopen(url)
html = response.read()
html = html.decode()
从这里我只是尝试操作字符串变量 html 来执行上述操作。有什么方法可以按照我指定的方式做到这一点,还是必须使用我之前见过的方法?
我还尝试创建一个 for 循环来遍历每个字符以检查它是否被封闭,但由于某种原因它不会给我正确的打印输出,即:
for i in html:
if i == '<':
html.replace(i, '')
delete = True
if i == '>':
html.replace(i, '')
delete = False
if delete == True:
html.replace(i, '')
将不胜感激任何意见。
str.replace
返回字符串的副本,其中所有出现的子字符串都替换为 new,您不能像以前那样使用它,也不应该修改循环正在迭代的字符串。使用额外列表是您可以采用的方法之一:
txt = []
for i in html:
if i == '<':
delete = True
continue
if i == '>':
delete = False
continue
if delete == True:
continue
txt.append(i)
now txt
列表包含结果文本,您可以加入它:
print ''.join(txt)
Demo:
html = '<body><div>some</div><div>text</div></body>'
#...
>>> txt
['s', 'o', 'm', 'e', 't', 'e', 'x', 't']
>>> ''.join(txt)
'sometext'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)