Я работаю над проектом, в котором я извлекаю данные из результатов поиска. Я хочу собрать заголовок объявления, название компании, местонахождение и описание. Прямо сейчас я могу go перейти на следующую страницу, изменив URL-адрес, но после очистки всех страниц он некорректно экспортируется в мой файл .csv. Пожалуйста, дай мне знать, что ты думаешь!
Вот мой текущий код:
from selenium import webdriver
MAX_PAGE_NUM = 3
MAX_PAGE_DIG = 2
driver = webdriver.Chrome("/Users/nzalle/Downloads/chromedriver")
with open('results.csv', 'w') as f:
f.write("Title, Company Name, Location, Description \n")
for i in range (0, MAX_PAGE_NUM + 1):
page_num = (MAX_PAGE_DIG - len(str(i))) * str(i) + "0"
url = "https://www.indeed.com/jobs?q=EHS&l=Arizona&start=" + page_num
driver.get(url)
Title = driver.find_elements_by_xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "jobtitle", " " ))]')
CompanyName = driver.find_elements_by_xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "company", " " ))] | //*[contains(concat( " ", @class, " " ), concat( " ", "company", " " ))]//*[contains(concat( " ", @class, " " ), concat( " ", "turnstileLink", " " ))]')
Location = driver.find_elements_by_xpath('//*[contains(concat( " ", @class, " " ), concat( " ", "accessible-contrast-color-location", " " ))]')
Description = driver.find_elements_by_xpath('//*[(@id = "resultsCol")]//li')
num_page_items = len(Title)
with open('results.csv', 'a') as f:
for i in range(num_page_items):
f.write(Title[i].text + "," + CompanyName[i].text + "," + Location[i].text + "," + Description[i].text + "\n")