def _getBoards(self, driver): boards = driver.find_elements_by_css_selector('div.AggregatedCloseupCard.Module.inDidIt') for board in boards: board_link = board.find_element_by_css_selector("a[href*='pin']") driver.get(board_link.get_attribute("href")) #return Navigator(url= board_link.get_attribute("href")) board_container = driver.find_element_by_css_selector("div.feedContainer.gatorFeed") board_summarys = board_container.find_elements_by_class_name("boardSummary") print(board_summarys) #todo test collection with Executors Navigators = Executor() for summary in board_summarys: attr = summary.find_element_by_css_selector('a').get_attribute('href') print("myattr: ", attr) #link = "www.pinteret.com" + summary.get_attribute("href") #print(link) Navigators.append(Navigator(url=attr)) Navigators.append(PinCollector()) print("REturning", Navigators) return Navigators
def pinHolders(self, driver): print("Getting PinHolders") Navigators = Executor() pinHolders = driver.find_elements_by_css_selector("div.pinHolder") print("PinSaver count: ", PinSaver._ids) for pinHolder in pinHolders[:10]: #refine this to test if the pinboard? link = pinHolder.find_element_by_css_selector('a').get_attribute('href') #store pinboard in database? #todo SUPER IMPORTANT CHECK LINK IN THE DATABASE to avoid infinite loop or have navigator hold urls. if not self.exists(link): Navigators.append(Navigator(url=link)) Navigators.append(PinSaver()) Navigators.append(Scrollers()) #Navigators.append(BoardCollector()) #Navigators.append(PinCollector()) else: print("url exists in Curator") return Navigators