Я действительно новичок в Python, поэтому я все еще пытаюсь выяснить Beautiful Soup.Я пытаюсь очистить веб-сайт и извлечь пять элементов, которые следуют сразу за тегом, который я нашел в своем коде.
Я попробовал next.element, который извлекает только текст тега, который я использовал в моем sou.find, и я попробовал next.sibling, который возвращается пустым.
Тамколичество «первого» и «последнего» классов на странице, поэтому я должен указать, какую строку я хочу с текстом.Вот то, что я пытаюсь очистить:
<li>
<ul>
<li class="first">Maintenance</li>
<li>$number1</li>
<li>$number2</li>
<li>$number3</li>
<li>$number4</li>
<li>$number5</li>
<li class="last">$linetotal</li>
</ul>
</li>
Это то, что я пытаюсь:
for x,y in zip(make, model):
url = ('https://URL with variables goes here')
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
search = requests.get(url, headers = headers)
html = search.text
soup = BeautifulSoup(html, 'lxml')
search_results = soup.find('li', class_ = 'first', text = re.compile('Maintenance'))
try:
d = search_results.next_element
print(d)
except:
print('pass')
Конечной целью будет добавление массива number1: number5 в список,но с приведенным выше кодом, вывод просто «Техническое обслуживание».Куда я иду не так?Кроме того, поскольку я новичок, если вы сможете предоставить контекст, я был бы очень признателен.