Я создал скрипт на python в сочетании с селеном, чтобы получить первую ссылку (заполненную duckduckgo.com
) любого элемента поиска, если только ключевое слово Ad
не находится рядом с этой ссылкой, как на рисунке ниже.Если первая ссылка содержит само ключевое слово, то скрипт получит вторую ссылку и завершит работу.
Мой текущий поиск - houzz
![enter image description here](https://i.stack.imgur.com/l04FD.jpg)
Это моя попытка (она всегда получает первую ссылку независимо от наличия этого ключевого слова Ad
):
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
link = "https://duckduckgo.com/?q={}&ia=web"
def get_info(driver,keyword):
driver.get(link.format(keyword))
for item in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"h2.result__title"))):
lead_link = item.find_element_by_css_selector("a.result__a").get_attribute("href")
break
print(lead_link)
if __name__ == '__main__':
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument("--headless")
driver = webdriver.Chrome(options=chromeOptions)
wait = WebDriverWait(driver, 10)
try:
get_info(driver,"*houzz*")
finally:
driver.quit()
Как я могу исправить свой скрипт, чтобы получить вторую ссылку, если ключевое слово Ad
рядом с первой ссылкой?