gpt4 book ai didi

python - Instagram 检测 python 请求

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:44 25 4
gpt4 key购买 nike

我使用 python 进行网页抓取,但 Instagram 检测到的设备如下:
设备·Python请求·x城市,x
并阻止连接,我该如何解决它?

Device · Python Requests

我尝试使用fake_useragent浏览器手动设置代码:

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

最佳答案

其中包含大量 JavaScript。使用 python requests,您可以直接从网络服务器获取 HTTP 响应。它必须在浏览器中呈现,才能从页面获取所有信息和内容。

解决这个问题最简单的方法是使用selenium.

关于python - Instagram 检测 python 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54486068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com