python - 有没有办法让 instagram bot 检测器
问题描述
我尝试用 python 和 selenium 编写一个自动程序来创建自动 Instagram 帐户。我添加了所有安全选项,甚至 Instagram 也阻止我创建新帐户。
我真的尝试了一切。清理 cookie、catch、隐身模式、代理、禁用位置、使用虚假标头,最后我尝试了一个新的互联网连接(我的智能手机上的热点)。但 Instagram 仍然阻止了我。如何修改我的代码以防止 Instagram 我被检测为我?
InstaAction 类只调用 storage.clear()
class MyInstaAction(webdriver.Chrome):
def __init__(self, *args, **kwargs):
super().__init__('chromedriver.exe', *args, **kwargs)
def root(self):
self.get(mpaths.root)
def create_account(self, user):
self.get(mpaths.register)
self.execute_script('localStorage.clear();')
# Finding elements and doing other stuff
“主要”安全设置
if mconf.use_proxy:
proxies = my_proxys.get_proxys()
if count > len(proxies):
print(f'Only {len(proxies)} available\n'
f'Setting counter to maximum of {len(proxies)}')
count = len(proxies)
else:
proxies = [0 for _ in range(count)]
for i, proxy in zip(range(count), proxies):
try:
user = MyUserFactory.get_user()
if doc.does_user_exist(user):
same += 1
continue
opt = webdriver.ChromeOptions()
opt.add_argument("disable-infobars")
opt.add_argument("--incognito")
prefs = {"profile.default_content_setting_values.geolocation": 2}
opt.add_experimental_option("prefs", prefs)
ua = rua.random
print(ua)
opt.add_argument(f"user-agent={ua}")
opt.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'})
if proxy:
# Setting up proxy package
opt.add_argument('--proxy-server=%s' % proxy)
# end
iact = MyInstaAction(options=opt)
iact.delete_all_cookies()
有人如何解决这个问题吗?
解决方案
尝试更改用户代理。
options.add_argument("user-agent=YOUR_DEVICE")
推荐阅读
- sql-server - “如何从下面的字符串 xyz1abc$xyz2abc$ 中获取 $ 符号”
- r - 将管道运算符序列转换为 R 函数或类似函数(最好使用 Tidyverse)
- r - 如何根据两个变量重新排序 facet_wrap
- apache - 如何根据 HTTP Referrer 重定向请求?
- pandas - 逐行将多列与特定列进行元素乘法
- c++ - 使用 std::map::iterators 对树进行级别顺序遍历
- html - 悬停在 SVG 路径的未填充区域上不起作用
- c# - 在桌面应用程序中通过 VPN 模拟用户
- deep-learning - Cleverhans : Adversarial Images - 分类准确率太高
- javascript - 表单构造动作视图更新中茧宝石的回调