首页 > 解决方案 > Python - Instaloader ProfileNotExistsException

问题描述

我是 Instaloader 的新手,在尝试获取生物信息时遇到了问题。我们已经在 Google 上搜索了我们帐户的 Instagram 句柄列表,不幸的是,这些数据并不完美,我们提取的一些句柄不再处于活动状态(用户更改了个人资料句柄或删除了帐户)。这会导致出现ProfileNotExistsException错误并停止提取所有后续帐户的信息。

有没有办法忽略这一点并继续拉入其余的BIOS,而只留下这个空白?

这是向我抛出错误的代码。句柄是我们拥有的句柄列表。

bios = [] 
for element in handles: 
    if element == '': bios.append('NULL') 
    else:
    bios.append(instaloader.Profile.from_username(L.context, element).biography)

我已经尝试使用在这个论坛中找到的解决方法(找不到帖子),但它对我不起作用。没有错误,只是没有解决问题。他们建议的代码是:

def _obtain_metadata(self): 
    try: 
        if self._rhx_gis == None: 
            metadata = self._context.get_json('{}/'.format(self.username), params={}) 
        self._node = metadata['entry_data']['ProfilePage'][0]['graphql']['user'] 
        self._rhx_gis = metadata['rhx_gis'] 
        metadata = self._context.get_json('{}/'.format(self.username), params={}) 
        self._node = metadata['entry_data']['ProfilePage'][0]['graphql']['user'] 
except (QueryReturnedNotFoundException, KeyError) as err: 
    raise ProfileNotExistsException('Profile {} does not exist.'.format(self.username)) from err

提前致谢!

标签: python

解决方案


推荐阅读