From 97e3cd3e979f669765d0a7334369aa2bd602893c Mon Sep 17 00:00:00 2001 From: limkokhole Date: Sat, 26 Sep 2020 03:56:42 +0800 Subject: [PATCH] Got case IndexError once --- pinterest-downloader.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pinterest-downloader.py b/pinterest-downloader.py index 1819a0d..e62eb04 100644 --- a/pinterest-downloader.py +++ b/pinterest-downloader.py @@ -224,10 +224,16 @@ def get_user_boards(username, proxies): def get_pin_info(pin_id, arg_timestamp_log, arg_force_update, arg_dir, arg_cut, arg_el, fs_f_max, proxies): s = get_session(0, proxies) - r = s.get('https://www.pinterest.com/pin/{}/'.format(pin_id), timeout=15) - root = html.fromstring(r.content) - #print(root) - tag = root.xpath("//script[@id='initial-state']")[0] + while 1: + try: + r = s.get('https://www.pinterest.com/pin/{}/'.format(pin_id), timeout=15) + root = html.fromstring(r.content) + #print(root) + tag = root.xpath("//script[@id='initial-state']")[0] + break + except IndexError: #list index out of range + print('[E] Failed. Retry after 5 seconds...') + time.sleep(5) initial_data = json.loads(tag.text) #print(initial_data) images = initial_data['resourceResponses'][0]['response']['data']