123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from selenium import webdriver
- import time
- import os
- class ProgHubParser(object):
- def __init__(self, driver, lang, url):
- self.driver = driver
- self.lang = lang
- self.url = url
- def parse(self): # метод запуска парсера
- self.go_to_tests_page() # переход на страницу с вопросами
- def go_to_tests_page(self):
- self.driver.get(self.url)
- # сбор контета
- test_cards = self.driver.find_elements_by_class_name('testCard')
- # получение конкретной ссылки https://proghub.ru/t/python-tuples
- # test_link = test_cards[8].find_element_by_tag_name("a").get_attribute("href")
- # print(test_link)
- # получение всех ссылок
- for elem in test_cards:
- print(elem.find_element_by_tag_name("a").get_attribute("href"))
- def time_watcher():
- start_time = time.time()
- print('--- %s seconds ---' % (time.time() - start_time))
- def main():
- # url = 'https://proghub.ru/tests'
- url = 'https://proghub.ru/tests'
- path_driver = os.path.join('E:\ProgramsWebMastering', "chromedriver.exe")
- # print(path_driver)
- driver = webdriver.Chrome(executable_path=path_driver)
- scraper = ProgHubParser(driver, "python", url)
- scraper.parse()
- if __name__ == '__main__':
- main()
- time_watcher()
|