Я пытаюсь вычеркнуть синонимы слов из Thesaurus.com (используя bs4 и запросы).Страница примера: https://www.thesaurus.com/browse/put?s=t Проблема, с которой я сталкиваюсь, состоит в том, что есть три разных вкладки для разных значений слова, и у каждой есть свой список синонимов.Я хочу очистить их все, но я не уверен, как получить доступ к синонимам, перечисленным на неактивной вкладке.Когда я печатаю html и ctrl + f супа, синонимы из неосновной вкладки вообще не отображаются в html, что, по-видимому, указывает на то, что я не могу просто один раз почистить страницу.В любом случае, какой самый простой способ получить эти другие синонимы?
РЕДАКТИРОВАТЬ: В соответствии с просьбой комментария, вот мой код, чтобы в настоящее время очистить слово.Этот код работает отлично, как я уже сказал;Я просто не могу понять, как соскрести с других вкладок на странице.
results = {}
def scrape_word(word):
url = baseURL + word
response = requests.get(url, timeout=5)
if (response.status_code == 404):
results[word] = []
return
soup = BeautifulSoup(response.content, 'html.parser')
# Look only at the main content div or else you'll get other undesired tags
soup = soup.find('div', attrs={'class': 'css-1kc5m8x e1qo4u830'})
# The below variable is the class used by Thesaurus.com for synonyms
word_class = 'css-133coio etbu2a32'
# Structure of site is spans hold links which have text of the word
spanList = soup.find_all('span', attrs={'class': word_class})
synList = [span.find('a').text for span in spanList]
results[word] = synList
EDIT2: комментарий от cddt дал мне альтернативный путь к данным, которые я хочу, но если кто-то знает,Мне все еще интересно, как я мог решить проблему без его решения.