使用美丽的汤,我需要检测一种表达的含义。从许多定义中,仅需要一个。在“美丽汤”中,内容如下:
<strong>occhio della testa</strong><br/>
loc.s.m <br/>
<span class="mu"title="">CO</span><span style="color:#000"> </span><br/>
follia<br/>
<strong>pagare un occhio della testa</strong><br/>
loc.v.<br/>
<span class="mu"title="">CO</span><span style="color:#000"> </span><br/>
strapagare<br/>
<strong>passare per la testa</strong><br/>
loc.v.<br/>
<span class="mu" title="">CO</span><span style="color:#000"> </span><br/>
passare per la mente<br/>
<strong>perdere la testa</strong><br/>
loc.v.<br/>
<span class="mu" title="">CO</span><span style="color:#000"> </span><br/>
entrare in uno stato di confusione mentale; impazzire, spec. fig.: ha perso la testa per quella donna, se ne è perdutamente innamorato<br/>
<strong>
我从以上文本中需要的是:
pagare un occhio della testa:strapagare
我尝试过
# list of expressions that I need their meaning
myitems = ['pagare un occhio della testa', '....' , '....']
for ex in myitems:
ws = ex.split()
li = ""
url = "https://mydictionary/" + ws[-1]+ ""
if urllib.request.urlopen(url):
htmlfile = urllib.request.urlopen(url)
soup = BeautifulSoup(htmlfile, 'lxml')
txt = soup.text
if ex in txt:
li = '%s = %r' % (es, soup.next_siblings)
print(li)
此代码仅给出ex。有人可以帮忙吗?
答案 0 :(得分:0)
我不知道结构的规则性,但是对于上面的结构,您可以使用以下(bs4 4.7.1):
soup.select_one('strong:contains("pagare un occhio della testa") ~ span + span').next_sibling.next_sibling.strip()