Python 切割字符串导致错误

Python cutting string results in error

我正在尝试将我的字符串从 "<em class=\"txt\">" 剪切为 </em">

type = line[line.find("<em class=\"txt\">")+16:line.find(line.find("</em>"),line.find("<em class=\"txt\">"))]

这是错误:

TypeError: Can't convert 'int' object to str implicitly

我确定在此代码中添加 int 有问题。但是为什么要把int转成str呢?我想将 int 添加到 line.find() 的结果中,所以也添加到 int 中。它应该可以正常工作。

一般我想实现的是:

输入:

<em class="txt">blablabla</em>

输出:

blablabla

您可以使用 Beautiful Soup 解析器。

>>> from bs4 import BeautifulSoup
>>> s = '<em class="txt">blablabla</em>'
>>> soup = BeautifulSoup(s)
>>> soup.select('em.txt')[0].text
'blablabla'

您在 : 之后对 line.find 的第一个参数是调用 line.find() 的结果,它会产生错误所抱怨的 int