Я пытаюсь сделать некоторую работу в Интернете в python, используя BeautifulSoup 4.
Я пытаюсь очистить зарплату работника c. Я делаю это успешно, но результат возвращается 5 раз, и я не могу понять, почему.
Вот мой сайт: https://data.richmond.com/salaries/2018/state/university-of-virginia/tony-bennett
Вот мой пример кода:
import requests
from bs4 import BeautifulSoup
source = requests.get(f'https://data.richmond.com/salaries/2018/state/university-of-virginia/tony-bennett')
soup = BeautifulSoup(source.text, 'html.parser')
main_box = soup.find_all('div')
for i in main_box:
try:
x = i.find('div', class_='col-12 col-lg-4 pay')
z = x.find('h2').text
print(z)
except Exception:
pass
И мои результаты:
$525,000
$525,000
$525,000
$525,000
$525,000
Это правильная зарплата, но, как я уже сказал, результаты печатаются 5 раз.
Если я go на странице, щелкните правой кнопкой мыши и «осмотрите», я найду класс Я ищу, что такое «col-12 col-lg-4 pay», а затем в этом теге «h2». Существует только один тег 'h2'. И распечатать текст этого.
Кажется, я что-то упустил, но что?