qparser_3.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from selenium import webdriver
  2. import time
  3. import os
  4. class ProgHubParser(object):
  5. def __init__(self, driver, lang, url):
  6. self.driver = driver
  7. self.lang = lang
  8. self.url = url
  9. def parse(self): # метод запуска парсера
  10. self.go_to_tests_page() # переход на страницу с вопросами
  11. def go_to_tests_page(self):
  12. self.driver.get(self.url)
  13. # сбор контета
  14. test_cards = self.driver.find_elements_by_class_name('testCard')
  15. # получение конкретной ссылки https://proghub.ru/t/python-tuples
  16. # test_link = test_cards[8].find_element_by_tag_name("a").get_attribute("href")
  17. # print(test_link)
  18. # получение всех ссылок
  19. for elem in test_cards:
  20. print(elem.find_element_by_tag_name("a").get_attribute("href"))
  21. def time_watcher():
  22. start_time = time.time()
  23. print('--- %s seconds ---' % (time.time() - start_time))
  24. def main():
  25. # url = 'https://proghub.ru/tests'
  26. url = 'https://proghub.ru/tests'
  27. path_driver = os.path.join('E:\ProgramsWebMastering', "chromedriver.exe")
  28. # print(path_driver)
  29. driver = webdriver.Chrome(executable_path=path_driver)
  30. scraper = ProgHubParser(driver, "python", url)
  31. scraper.parse()
  32. if __name__ == '__main__':
  33. main()
  34. time_watcher()