Введите список ключевых слов, чтобы найти поле на сайте и сохранить результаты во внешний файл HTML - PullRequest
1 голос
/ 29 января 2020

Я хочу создать сценарий клиппирования с помощью python selenium webdriver. Моя идея состоит в том, чтобы ввести список ключевых слов для поиска поля на веб-сайте и сохранить результаты во внешний файл HTML.

С помощью этого кода я могу ввести ОДНО ключевое слово и сохранить результаты поиска во внешний файл HTMl и это работает нормально


options = Options()
options.headless = True
driver=webdriver.Firefox(options=options)
print ("Headless Firefox Initialized")


driver.get("https://www.URL.com/")

#check page title
assert "URL TITLE - " in driver.title 


time.sleep(2)

driver.find_element_by_class_name("search__open").click()
pretraga_input = driver.find_element_by_id("search-field-head")
pretraga_input.clear()
pretraga_input.send_keys("MY KEYWORD")
time.sleep(1)
pretraga_input.send_keys(Keys.RETURN)

timeout = 60
try:
  element_present = EC.presence_of_element_located((By.CLASS_NAME, 'search__results'))
  WebDriverWait(driver, timeout).until(element_present)
finally:
  print("RESULTS PAGE LOADED")

html_blic=driver.page_source 
soup_blic=BeautifulSoup(html_blic,'html.parser')
div_blic=soup_blic.select_one(".search__results")
html_content_blic = str(div_blic)

html_file = open('C://Users//MYUSER//Documents//PY//press.html', 'w', encoding="utf-8")
html_file.write('<head><title> PAGE TITLE </title><link rel="stylesheet" href="style.css"></head>'+'<div id="MYID"><div id="1">MY WEBSITE'+html_content_blic+'</div><div id="2"></div></div>' )
html_file.close()

driver.close()

Но как мне ввести список из 10+ ключевых слов и сохранить каждый результат поиска по ключевым словам в HTML файле?

1 Ответ

1 голос
/ 29 января 2020

Я полагаю, что вы можете сделать то, что вы хотите (если я правильно понимаю), попробовав что-то вроде этого:

В своем коде после pretraga_input.clear() вставить:

keywords = ["MY KEYWORD", "MY OTHER KEYWORD"]
for keyword in keywords:
   pretraga_input.send_keys(keyword)
   [and then the rest of your code, indented in this loop]

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...