我正在制作一个脚本来检查Instagram上用户名的可用性。我在这方面遇到了很多问题,但我发现我的代码不是问题所在(据我所知),但是requests
的链接将与我告诉它的链接不同。以下是发送请求的代码部分:
self.account_url=("https://www.instagram.com/" + self.usernameToTest + "/?__a=1/")
print(self.account_url)
r = requests.get(self.account_url)
print(r.url)
print(r.history)
print(r.status_code)
if r.status_code == 200:
print("[" + self.usernameToTest + " is taken.]")
else:
if r.status_code == 404:
print("[" + self.usernameToTest + " is AVAILABLE!]")
else:
print("ERROR: Error checking username: " + self.usernameToTest)
总之,变量self.usernameToTest
是正在测试的用户名,因此如果用户名是testusername
,变量self.account_url
将是:“https://www.instagram.com/testusername/?__a=1
”
与/?__a=1
的链接是我用来确定帐户是否被占用的,因为如果被占用,它将返回404。我遇到的问题是,当我运行它时,请求似乎得到一个状态代码302,然后每次都重定向到链接https://www.instagram.com/accounts/login/
。这将给出状态200,因此它表示每次都使用用户名。运行时的输出示例:
https://www.instagram.com/koakodskodakwoaksodkwa/?__a=1/
https://www.instagram.com/accounts/login/
[<Response [302]>]
200
[koakodskodakwoaksodkwa is taken.]
我不明白为什么它会这样做,因为当我自己将链接粘贴到chrome中时,它不会重定向,只会给我状态为404的站点https://www.instagram.com/koakodskodakwoaksodkwa/?__a=1/
。
我认为这可能与我的互联网或其他原因有关,因为起初它不工作,但我打开了一个vpn,当我关闭它时,它开始成功工作,但后来不知何故又停止了工作。而且,当我把代码发送给其他人时,它也为他们工作。有人知道为什么会这样吗?我在编码方面缺乏经验,对python上的请求也不太了解,所以我不知道是我做错了什么,是我的互联网上的问题,还是Instagram上的问题,但我知道这不是代码,因为它在一段时间内适用于其他人和我自己
目前没有回答
相关问题 更多 >
编程相关推荐