【问题标题】:AttributeError: 'NoneType' object has no attribute 'group' errorAttributeError:“NoneType”对象没有属性“组”错误
【发布时间】:2015-06-01 11:29:25
【问题描述】:
try:
            res = self.browser.open('https://login.facebook.com/login.php?login_attempt=1',form_data)
            response = res.read()
            self.fbid = re.search('https://www.facebook.com/(.*)\?sk=info',response)
            self.fbid = re.search('https://www.facebook.com/(.*)',self.fbid.group(1))
            self.fbid = re.search('https://www.facebook.com/(.*)',self.fbid.group(1))
        except urllib2.HTTPError,e :
            print "****exception****inside login  error code: %s" % (e.code)
        res.close()
    except urllib2.HTTPError,e :
         print "****exception****inside login  error code: %s" % (e.code)

    #print " server Response Code: %s " % (res.code)

我明白了

File "facebotv2.py", line 122, in login
    self.fbid = re.search('https://www.facebook.com/(.*)',self.fbid.group(1))
AttributeError: 'NoneType' object has no attribute 'group'

【问题讨论】:

  • 如果第一个正则表达式匹配,您将再次(一次又一次)匹配初始 URL 似乎不太可能:您真的期望像 https://www.facebook.com/https://www.facebook.com/https://www.facebook.com/somethingsk=info 这样的 URL 吗?

标签: python attributeerror


【解决方案1】:

self.fbid 在您的第一次正则表达式搜索之后是 None。这可能意味着您没有找到匹配项。如果要防止错误,可以有条件地只用if self.fbid != None继续搜索初始搜索的结果

【讨论】:

  • @damaster 你有什么问题?尝试在第一行 re.search 之后打印 self.fbid,您会看到它是 None。您需要打印出response,然后弄清楚如何更改您的正则表达式以获得您想要的结果。如果没有完整的代码示例(我不知道 form_data 中的内容),我无法准确告诉您需要做什么。
猜你喜欢
  • 2022-07-20
  • 1970-01-01
  • 1970-01-01
  • 2017-03-10
  • 2019-07-18
  • 2018-01-27
  • 1970-01-01
相关资源
最近更新 更多