Представьте следующее как output
из API
:
from bs4 import BeautifulSoup
html = """
<a class="result" href="www.test1.com" </a>
<a class="result" href="www.test1.com" </a>
<a class="result" href="www.test2.com" </a>
<a class="result" href="www.test2.com" </a>
<a class="result" href="www.test3.com" </a>
<a class="result" href="www.test3.com" </a>
"""
soup = BeautifulSoup(html, 'html.parser')
urls = [url.get("href") for url in soup.findAll("a", class_="result")]
print(set(urls))
Вывод:
{'www.test3.com', 'www.test2.com', 'www.test1.com'}
Как видите, set
фактически удаляет дубликаты но это не заботится о заказе.
Но если вы заботитесь о заказе. поэтому используйте list
как следующее:
items = []
for item in soup.findAll("a", class_="result"):
item = item.get("href")
if item not in items:
items.append(item)
print(items)
Выход:
['www.test1.com', 'www.test2.com', 'www.test3.com']
Таким образом, вы можете l oop над calls
до API
и add
установить или от append
до list
.