Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 简单问题-搜索介于两者之间的文本<;td>;及</td>;忽略新行的标记_Html_Beautifulsoup_Find_Newline - Fatal编程技术网

Html 简单问题-搜索介于两者之间的文本<;td>;及</td>;忽略新行的标记

Html 简单问题-搜索介于两者之间的文本<;td>;及</td>;忽略新行的标记,html,beautifulsoup,find,newline,Html,Beautifulsoup,Find,Newline,我的问题可能很简单。我用BS刮去了一个网页。在soup中,我确实希望搜索文本(这里是示例) 现在,如果汤中的内容看起来像(摘录): 希望有人能回答这个可能非常基本的问题。这是因为在您的第二个示例中,文本不再等于示例,因为它包含现在是文本一部分的换行符。因此,您的搜索必须从“euqals”更改为“contains”。而对于beautifulsoup,则需要正则表达式 假设这是您的html: test = """<!DOCTYPE html> <doc

我的问题可能很简单。我用BS刮去了一个网页。在soup中,我确实希望搜索文本(这里是示例)

现在,如果汤中的内容看起来像(摘录):


希望有人能回答这个可能非常基本的问题。

这是因为在您的第二个示例中,文本不再等于
示例
,因为它包含现在是文本一部分的换行符。因此,您的搜索必须从“euqals”更改为“contains”。而对于beautifulsoup,则需要正则表达式

假设这是您的html:

test = """<!DOCTYPE html>
<doc>
<td>
   example
</td>
<td>example2</td>
<td>unrelated</td>
</doc>"""
最后

for entry in soup.find_all(text=re.compile("example")):
    print(entry.strip())
输出:

example
example2

另外,在更复杂的html/xml和搜索中,不建议使用正则表达式。您可能需要切换到像lxml这样的库。

非常感谢。这是一种魅力!
test = """<!DOCTYPE html>
<doc>
<td>
   example
</td>
<td>example2</td>
<td>unrelated</td>
</doc>"""
import re
for entry in soup.find_all(text=re.compile("example")):
    print(entry.strip())
example
example2