仅在HTML文件中特定单词之后抓取文本部分



我刚接触Python(一个星期),所以我很抱歉如果这听起来很傻,但是我真的很感激你的帮助。我想在HTML文件中转换文本的特定部分。例如,假设整个文本是:

Lorem ipsum dolor sit amet, consectetepsing elite。修女,修女,修女,修女,修女。Mauris nec maximus purus。Maecenas和pretium tellus是一样的。《藐视尊严》

我想对单词"mollis"之后的所有文本进行转义。在"藐视尊严"这个词的前面;期望的输出应该是:

Mauris nec maximus purus。

到目前为止,我只是设法从一个网站上抓取了一些部分,并删除了HTML标签:
from bs4 import BeautifulSoup
from re import findall
file = open('filename.html', encoding= "UTF-8")
soup = BeautifulSoup(file, 'lxml')
for match in soup.find_all('div', class_='discussion-desc'):
recom = match.text
re.findall(r'@(w+)','recommendations')
#['recommendations', 'steps']
#re.findall(r'@(w+)', 'recommendations')
#[]
#(re.findall(r'@(w+)', 'recommendations') or None,)[0]
#'recommendations'
#print (re.findall(r'@(w+)', 'recommendations') or None,)[0]
#None

请帮忙,谢谢。

在单次出现的情况下,您可以使用:re.search():

s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc fringilla arcu congue metus aliquam mollis. Mauris nec maximus purus. Maecenas sit amet pretium tellus. Quisque at dignissim lacus"
re.search(r'mollis.(.*?)Quisque at dignissim lacus', s).group(1)

输出:

Out[28]: ' Mauris nec maximus purus. Maecenas sit amet pretium tellus. '

在多次出现的情况下,查看re.findall()

相关内容

  • 没有找到相关文章

最新更新