|  |  | @ -71,9 +71,10 @@ def login(userid, username, password, authentication_secret=None): | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | @retry(tries=10, delay=10) |  |  |  | # @retry(tries=10, delay=10) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | def get_timeline(driver, url): |  |  |  | def get_timeline(driver, url): | 
			
		
	
		
		
			
				
					
					|  |  |  |     logger.info(f"check timeline {url}") |  |  |  |     logger.info(f"check timeline {url}") | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     try: | 
			
		
	
		
		
			
				
					
					|  |  |  |         driver.get(url) |  |  |  |         driver.get(url) | 
			
		
	
		
		
			
				
					
					|  |  |  |         WebDriverWait(driver, 60).until( |  |  |  |         WebDriverWait(driver, 60).until( | 
			
		
	
		
		
			
				
					
					|  |  |  |             ec.presence_of_element_located((By.CSS_SELECTOR, 'div[aria-label="Timeline: List"]'))) |  |  |  |             ec.presence_of_element_located((By.CSS_SELECTOR, 'div[aria-label="Timeline: List"]'))) | 
			
		
	
	
		
		
			
				
					|  |  | @ -84,6 +85,7 @@ def get_timeline(driver, url): | 
			
		
	
		
		
			
				
					
					|  |  |  |                 request_id = message["params"]["requestId"] |  |  |  |                 request_id = message["params"]["requestId"] | 
			
		
	
		
		
			
				
					
					|  |  |  |                 resp = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': request_id}) |  |  |  |                 resp = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': request_id}) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return json.loads(resp["body"]) |  |  |  |                 return json.loads(resp["body"]) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     except: | 
			
		
	
		
		
			
				
					
					|  |  |  |         return {} |  |  |  |         return {} | 
			
		
	
		
		
			
				
					
					|  |  |  |      |  |  |  |      | 
			
		
	
		
		
			
				
					
					|  |  |  |      |  |  |  |      | 
			
		
	
	
		
		
			
				
					|  |  | @ -109,6 +111,7 @@ def parse_entry(entry): | 
			
		
	
		
		
			
				
					
					|  |  |  |          |  |  |  |          | 
			
		
	
		
		
			
				
					
					|  |  |  | def parse_content(content): |  |  |  | def parse_content(content): | 
			
		
	
		
		
			
				
					
					|  |  |  |     tweet = content["itemContent"]["tweet_results"]["result"] |  |  |  |     tweet = content["itemContent"]["tweet_results"]["result"] | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if not "rest_id" in tweet: tweet = tweet["tweet"] | 
			
		
	
		
		
			
				
					
					|  |  |  |     data = parse_tweet(tweet) |  |  |  |     data = parse_tweet(tweet) | 
			
		
	
		
		
			
				
					
					|  |  |  |     if "quoted_status_result" in tweet: |  |  |  |     if "quoted_status_result" in tweet: | 
			
		
	
		
		
			
				
					
					|  |  |  |         data["quoted"] = parse_tweet(tweet["quoted_status_result"]["result"]) |  |  |  |         data["quoted"] = parse_tweet(tweet["quoted_status_result"]["result"]) | 
			
		
	
	
		
		
			
				
					|  |  | 
 |