Я знаю, что есть множество подобных вопросов, но я просто не могу понять мой конкретный c пример.
На этой странице, я хочу извлечь число '121 320' из строки: 'Масса (Да): 121 320'
Я вижу из BeautifulSoup, что это именно то, что я хочу:
</div><a class="show-link" href="#" id="O00203-show-link" style="display:none">Show »</a></div><div class="sequence-isoform-rightcol"><div><span class="sequence-field-header tooltiped" title="Sequence length.">Length:</span><span>1,094</span></div><div><span class="sequence-field-header tooltiped" title="The mass of the unprocessed protein, in Daltons.">Mass (Da):</span><span>121,320</span>
Я пытался это:
import urllib
import requests
import sys
from bs4 import BeautifulSoup
uniprot_list = ['O00203']
for each_id in uniprot_list:
data = requests.get('https://www.uniprot.org/uniprot/' + each_id + '#sequences.html')
soup = BeautifulSoup(data.content, 'html.parser')
#prints all spans
print(soup.find_all('span'))
#prints empty list
print(soup.find_all('span',title_='The mass of the unprocessed protein, in Daltons.'))
Самым близким, что я получил, была попытка следовать этому ответу на SO:
div1 = soup.find("div", { "class" : "sequence-isoform-rightcol" }).findAll('span', { "class" : "sequence-field-header tooltiped" })
for x in div1:
print(x.text)
Проблема в том, что распечатывается:
Length:
Mass (Da):
без фактических значений.
Как извлечь массу из каждой имеющейся у меня страницы? В этом случае 121 320?