Python-仅从网页中获取视觉上可体验的文本。不使用漂亮的汤

Python-仅从网页中获取视觉上可体验的文本。不使用漂亮的汤,python,regex,Python,Regex,我对这种情况的看法是这样的。。而不是消除不需要的东西。。也称为html、javascript、css标记和糟糕的html标记。。为什么不简单地寻找正在寻找的东西呢 正在寻找的是。。在web浏览器中加载网页时视觉感受到的文本 文本很可能位于某些div和span的内部,但当然不知道它们是否使用html的注释隐藏 ( <!-- example --> ) 如果您在html文件上使用的代码没有以开头(如中所示,第一个字符不是),则代码相当透明,因此可以修改。。在1BTW的情况下,在循环

我对这种情况的看法是这样的。。而不是消除不需要的东西。。也称为html、javascript、css标记和糟糕的html标记。。为什么不简单地寻找正在寻找的东西呢

正在寻找的是。。在web浏览器中加载网页时视觉感受到的文本

文本很可能位于某些div和span的内部,但当然不知道它们是否使用html的注释隐藏

 ( <!--  example --> )

如果您在html文件上使用的代码没有以
开头(如中所示,第一个字符不是),则代码相当透明,因此可以修改。。在
1BTW的情况下,在循环开始之前,我将使用
delete=False进行测试。。虽然没有更多的错误。。它只打印
[]
请编辑您的问题以添加您正在处理的html(至少部分)。代码并不像您想象的那么容易修改:如何解决
问题(不确定是否获得其他修复)?你的任务不是很有独创性,我相信只要稍加研究,你就能找到一个适合你需要的灵活工具。但显然,选择权在你。当存在
时,它需要声明
delete=False
。。。每次
delete
False
时,都要将字符附加到
data2
数组中。我想重新编写此代码的正确方法是。。默认情况下,将ignore设置为false,并将每个字符添加到数组中。当它点击一个
1什么是
data2[]=“”
?要定义数组,请使用
data2=[]
2为什么要删除
continue
?我仍然坚持我的观点:这是一种糟糕的工作方式。4与其将
data2
作为数组,不如将其设置为字符串并使用
data2+=i
?@Robin我几乎修复了它,请查看问题中的最终更新。。现在唯一的问题是出现了>。切换
如果i='>':record=“yes”
如果record==“yes”:recorded.append(i)
。我可以建议你发布你的代码来了解它有什么问题吗?@Robin,我知道如果
I=='>'>'
,它需要记录,但是你如何确保它跳过
,这样
就不会被记录?好吧,人们必须遵循我之前评论中的建议,将这两种说法相互转换。
txt = []
for i in html:
    if i == '<':
        delete = True
        continue
    if i == '>':
        delete = False
        continue
    if delete == True:
        continue

    txt.append(i)
data="<title>ooo</title>"
delete = False
data2[] = ""
for i in data:
    if i == '<':
        delete = True
    if i == '>':
        delete = False
    if delete == True:
        continue
    data2.append(i)

print data2
data="<title>ooo</title>"
record = "yes"
recorded= []
for i in data:
    if i == '<':
        record = "yes"
    if i == '>':
        record = "no"
    if record == "yes":
        recorded.append(i)

print recorded
>>> print recorded
['<', 't', 'i', 't', 'l', 'e', '<', '/', 't', 'i', 't', 'l', 'e']
data="<title>ooo</title>"
record = "yes"
recorded= []
for i in data:
    if i == '<':
        record = "no"
    if i == '>':
        record = "yes"
    if record == "yes":
        recorded.append(i)
>>> print recorded
['>', 'o', 'o', 'o', '>']
// i = 'a'
if i == '<':        // nope
    delete = True
    continue
if i == '>':        // nope
    delete = False
    continue
if delete == True:  // what's delete?
    continue