AttributeError:“ NoneType”对象没有属性“ group”(对于instagram)

时间:2018-09-02 04:37:26

标签: python

Lokesh-mac-mini-pro-2:instabot.py-master Lokeshmacminipro$ python example.py
02.09.2018_10:03 Instabot v1.2.0 started at 02.09.2018 10:03:

02.09.2018_10:03 Trying to login as moneshrallapalli...
Traceback (most recent call last):
  File "example.py", line 52, in <module>
    unfollow_whitelist=['example_user_1', 'example_user_2'])
  File "/Users/lokemone/Desktop/instabot.py-master/src/instabot.py", line 234, in __init__
    self.login()
  File "/Users/lokemone/Desktop/instabot.py-master/src/instabot.py", line 303, in login
    self.user_id = ui.get_user_id_by_login(self.user_login)
  File "/Users/lokemone/Desktop/instabot.py-master/src/userinfo.py", line 42, in get_user_id_by_login
    json_info = json.loads(re.search('{"activity.+show_app', info.text, re.DOTALL).group(0)+'":""}')
AttributeError: 'NoneType' object has no attribute 'group'

Lokesh-mac-mini-pro-2:instabot.py-master Lokeshmacminipro$ 

请告诉我们如何避免

  

AttributeError:'NoneType'对象没有属性'group'

2 个答案:

答案 0 :(得分:0)

此错误表示该值不包含任何内容,即没有值。分组之前先检查一下。

答案 1 :(得分:0)

从回溯中可以明显看出,下一行是造成异常的原因。

json_info = json.loads(re.search('{"activity.+show_app', info.text, re.DOTALL).group(0)+'":""}')

您似乎正在尝试从info.text获取一些特定的内容,然后使用它制作一个json。在这种情况下,您的方法需要进行一些修改。

首先修复搜索部分。应该是

matched_string = re.search('activity.+show_app', info.text, re.DOTALL).group(0)

您得到的特定异常是由于此行。您正在搜索的模式不在该字符串中。因此,您可以在其中添加一个try / catch或if / else来避免这种情况。

然后通过执行以下操作将其显式设置为有效的json:

 valid_json = "{" + matched_string + ": ''}"

最后,使用json模块加载它。

 valid_dict = json.loads(valid_json)

因此,只需一行,

try:
    some_var = json.loads("{" + re.search('activity.+show_app', info.text, re.DOTALL).group(0) + ": '' }")
except AttributeError:
    print("Couldn't find that specific pattern")

希望这会有所帮助。