|
|
|
@ -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):
|
|
|
|
|
logger.info(f"check timeline {url}")
|
|
|
|
|
try:
|
|
|
|
|
driver.get(url)
|
|
|
|
|
WebDriverWait(driver, 60).until(
|
|
|
|
|
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"]
|
|
|
|
|
resp = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': request_id})
|
|
|
|
|
return json.loads(resp["body"])
|
|
|
|
|
except:
|
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -109,6 +111,7 @@ def parse_entry(entry):
|
|
|
|
|
|
|
|
|
|
def parse_content(content):
|
|
|
|
|
tweet = content["itemContent"]["tweet_results"]["result"]
|
|
|
|
|
if not "rest_id" in tweet: tweet = tweet["tweet"]
|
|
|
|
|
data = parse_tweet(tweet)
|
|
|
|
|
if "quoted_status_result" in tweet:
|
|
|
|
|
data["quoted"] = parse_tweet(tweet["quoted_status_result"]["result"])
|
|
|
|
|