я использую python для просмотра веб-страниц, но instagram обнаруживает такие устройства, как:
Устройство · Python-запросы · x City, x
и блокирует соединение, как я могу это исправить?
я пытаюсь использовать fake_useragent
или browser manual setting
код:
def login(self):
print ('Trying to login as %s...\n' % (self.username))
self.s.headers.update({
'Accept': '*/*',
'Accept-Encoding' : 'gzip, deflate',
'Accept-Language' : 'en-US;q=0.6,en;q=0.4',
'authority': 'www.instagram.com',
'ContentType' : 'application/x-www-form-urlencoded',
'Connection': 'keep-alive',
'Host' : 'www.instagram.com',
'origin': 'https://www.instagram.com',
'Referer': 'https://www.instagram.com',
'Upgrade-Insecure-Requests':'1',
'UserAgent':self.ua.random,
'x-instagram-ajax':'1',
'X-Requested-With': 'XMLHttpRequest'
})
r = self.s.get('https://www.instagram.com/')
self.s.headers.update({'X-CSRFToken' : r.cookies.get_dict()['csrftoken']})
r = self.s.post('https://www.instagram.com/accounts/login/ajax/', data={'username':self.username, 'password':self.password}, allow_redirects=True)
self.s.headers.update({'X-CSRFToken' : r.cookies.get_dict()['csrftoken']})
loginstatus = json.loads(r.text)
if loginstatus['authenticated'] == True :
print ('Login Success')
self.login_status=True
return True
elif loginstatus['authenticated'] == False :
return False