python - Python 请求请求与预期不同的 instagram 链接
问题描述
我正在制作一个脚本来检查 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 中时,它不会重定向,只会给我https://www.instagram.com/koakodskodakwoaksodkwa/?__a=1/
状态为 404 的网站。我认为这可能与我的互联网或其他原因有关出于某种原因,它一开始没有工作,但我打开了一个 vpn,当我把它关掉时,它开始成功地工作,但后来不知从何而来又停止工作了。此外,当我将代码发送给其他人时,它也适用于他们。有谁知道为什么会这样?我在编码方面有点缺乏经验,对 python 上的请求不太了解,所以我不知道是我做错了什么,是我的互联网的问题,还是 Instagram 的问题,但我知道它不是代码因为它在一段时间内对其他人和我自己都有效。
解决方案
推荐阅读
- julia - 通过 Plots 使用“gr()”和安装 GR.jl 包之间的区别
- python - 带有 Django 通道的恒定数据流
- angular - 如何为不同的生成对象制作别名
- android - Mapbox:如何动画多边形变换
- visual-studio-code - 从 postDebugTask 中终止另一个任务 - VS Code
- c# - C# 将图像写入 TCP 套接字
- javascript - 箭头函数属性原型未定义
- plugins - 带有 ISubscriber 的 tfs 2018 插件 - 未收到事件
- python - python函数访问主变量
- python - 我离实现目标还有多远?我需要学习和应用什么样的技术才能做到这一点?