web scrape python按文本查找所有内容,而不是按元素标记查找所有内容

web scrape python按文本查找所有内容,而不是按元素标记查找所有内容,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,让我们用技术这个词作为例子。 我想搜索网页上的所有文本。对于每个文本,我希望找到每个元素标记,其中包含一个带有单词“technology”的字符串,并只打印包含该单词的元素标记的内容。请帮我弄清楚 words = soup.body.get_text() for word in words: i = word.soup.find_all("technology") print(i) 由于您要查找的是“HTML结构”中的数据,而不是典型的data结构,因此您几乎需要为这项工作编写一

让我们用技术这个词作为例子。 我想搜索网页上的所有文本。对于每个文本,我希望找到每个元素标记,其中包含一个带有单词“technology”的字符串,并只打印包含该单词的元素标记的内容。请帮我弄清楚

words = soup.body.get_text()

for word in words:
   i = word.soup.find_all("technology")
   print(i)

由于您要查找的是“HTML结构”中的数据,而不是典型的
data
结构,因此您几乎需要为这项工作编写一个HTML解析器。Python通常不知道“此处的某个字符串”与其他地方用括号括起来的另一个字符串相关


这可能有一个库,但我感觉没有:(

因为您在“HTML结构”中查找数据,而不是典型的
数据结构,所以您几乎必须为这项工作编写一个HTML解析器。Python通常不知道“这里有一些字符串”与另一个用括号括起来的字符串相关

这可能有一个库,但我觉得没有:(

您应该使用文本搜索,这可以通过使用
text
参数(在现代
BeautifulSoup
版本中重命名为)来完成,可以通过字符串检查中的函数和子字符串:

for element in soup.find_all(text=lambda text: text and "technology" in text):
    print(element.get_text())
或者,通过:

您应该使用文本搜索,可以通过使用
text
参数(在现代
BeautifulSoup
版本中重命名为)通过字符串检查中的函数和子字符串来完成:

for element in soup.find_all(text=lambda text: text and "technology" in text):
    print(element.get_text())
或者,通过: