2015-06-01 3 views
1
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) 

я получил этоAttributeError: объект 'NoneType' имеет ошибки нет 'группы' атрибута

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' 
+0

Кажется очень маловероятным, что если первое регулярное выражение соответствует, вы снова будете совпадать с начальным URL (и снова) : действительно ли вы ожидаете URL-адрес, например, «https: //www.facebook.com/https: //www.facebook.com/https: // www.facebook.com/somethingsk = info'? – Evert

ответ

3

self.fbid является None после первого поиска регулярного выражения. Вероятно, это означает, что вы не нашли соответствия. Если вы хотите предотвратить ошибку, вы можете условно продолжить поиск результата начального поиска с помощью if self.fbid != None

+0

Можете ли вы ввести правильный код – damaster

+0

@damaster, с чем вы столкнулись? Попробуйте напечатать 'self.fbid' после вашей первой строки' re.search', и вы увидите, что это 'None'. Вам нужно распечатать «response», а затем выяснить, как изменить свое регулярное выражение, чтобы получить желаемый результат. Без полного кода (я не знаю, что находится в 'form_data') я не могу точно сказать, что вам нужно делать. – jozzas

+0

полный код: https://github.com/pun1sh3r/facebot/blob/master/facebotv2.py – damaster