Open grafist02511 opened 5 years ago
Да, наверное, в последнее время не слежу за этим
If you're trying to access Instagram user profile: Instagram has just changed the behavior of its web version interface. Now no one can view more than a few users' profiles without being authorized on their servers first. In other words, user profiles are no longer publicly available for servers like ours. We're currently searching for ways to solve this problem. Sorry for the inconveniences.
У меня такая же ошибка, только я не могу авторизоваться. Может нашли решение?
У меня такая же ошибка, только я не могу авторизоваться. Может нашли решение?
С такими костылями у меня работает
Нет, пишет KeyError: 'ProfilePage', я так понимаю, что он не может просматривать страницы.
даже если установить proxy, всё равно появляется ошибка, очень странно
Код из quickstart работает?
from instagram import Account, Media, WebAgent
agent = WebAgent() account = Account("zuck")
media1, pointer = agent.get_media(account) print (media1)
Нет, в этом и прикол
Сегодня с утра всё работало, вечером начал парсить аккаунты, и опять вылетела эта ошибка
instagram.exceptions.UnexpectedResponse: Get unexpected response from 'https://www.instagram.com/accounts/login/' Error: 'ProfilePage'
Не знаю что делать
Проксю убери из-за нее не работает скачивание медиа
Проксю убери из-за нее не работает скачивание медиа
Если делать много запросов, то вылетает такая ошибка, её можно обойти с помощью vpn, прокси почему-то не решают эту проблему, хотя они 100% работают. Ошибка выпадает даже если не использовать прокси.
Проксю убери из-за нее не работает скачивание медиа
Если делать много запросов, то вылетает такая ошибка, её можно обойти с помощью vpn, прокси почему-то не решают эту проблему, хотя они 100% работают. Ошибка выпадает даже если не использовать прокси.
Нет, фича в том что прокси её решает частично( в случае лайков и комментов) если вы при 429 будете менять проксю скачивание продолжится. Однако в media при подключении любой прокси вылетает ошибка ProfilePage not found (или что-то вроде того). А в случае с лайкамм и клиентами или 429( много запросов) или 403( не валидная прокся)
А vpn не является альтернативой, так как если писать для своего устройства все окей, а если многопользовательское то все сломается. Или же ставить на всех впн и тд
А vpn не является альтернативой, так как если писать для своего устройства все окей, а если многопользовательское то все сломается. Или же ставить на всех впн и тд
Есть тогда какое-нибудь решение? Мне нужно доставать информацию из bio большого количества аккаунтов.
А vpn не является альтернативой, так как если писать для своего устройства все окей, а если многопользовательское то все сломается. Или же ставить на всех впн и тд
Есть тогда какое-нибудь решение? Мне нужно доставать информацию из bio большого количества аккаунтов.
Какой метод вы используете? get_media?
А vpn не является альтернативой, так как если писать для своего устройства все окей, а если многопользовательское то все сломается. Или же ставить на всех впн и тд
Есть тогда какое-нибудь решение? Мне нужно доставать информацию из bio большого количества аккаунтов.
Какой метод вы используете? get_media?
account = Account(people)
agent.update(account)
biography = account.biography
name = account.full_name
cnt_proxy = 0 settings = None settings_list = [None]
def Change_proxy(): global cnt_proxy global settings global settings_list if cnt_proxy == len(settings_list) - 1: cnt_proxy = 0 else: cnt_proxy += 1 settings = settings_list[cnt_proxy] print("Change proxy to", cnt_proxy)
def Exception_handler(e): global cnt_proxy global settings global settings_list if "Cannot connect to proxy." in str(e.args[0]): del settings_list[cnt_proxy] print("Proxy is not working") Change_proxy() elif "with response code '429'" in str(e.args[0]): print("Proxy overloaded") Change_proxy() else: # TODO://Media except ProfilePage raise e
def take_proxy_list(proxy_file_name): global settings_list with open(proxy_file_name) as proxies: for proxy in proxies: elem = {"proxies": {re.search(r".*://", proxy).group(0)[:-3]: proxy.rstrip()}} settings_list.append(elem) account = Account(people) agent.update(account, settings=settings) biography = account.biography name = account.full_name
cnt_proxy = 0 settings = None settings_list = [None]
def Change_proxy(): global cnt_proxy global settings global settings_list if cnt_proxy == len(settings_list) - 1: cnt_proxy = 0 else: cnt_proxy += 1 settings = settings_list[cnt_proxy] print("Change proxy to", cnt_proxy)
def Exception_handler(e): global cnt_proxy global settings global settings_list if "Cannot connect to proxy." in str(e.args[0]): del settings_list[cnt_proxy] print("Proxy is not working") Change_proxy() elif "with response code '429'" in str(e.args[0]): print("Proxy overloaded") Change_proxy() else: # TODO://Media except ProfilePage raise e
def take_proxy_list(proxy_file_name): global settings_list with open(proxy_file_name) as proxies: for proxy in proxies: elem = {"proxies": {re.search(r".*://", proxy).group(0)[:-3]: proxy.rstrip()}} settings_list.append(elem) account = Account(people) agent.update(account, settings=settings) biography = account.biography name = account.full_name
Не пойму зачем всё это нужно, когда можно просто указать прокси и их использовать, вот так.
settings = {
"proxies": {
"http": "50.235.28.146:3128",
"http": "23.97.101.222:80",
"http": "200.89.178.73:8080",
"http": "195.171.27.244:3128",
"http": "109.226.233.31:3128",
"http": "176.105.100.62:3128",
"http": "165.22.44.147:80",
"http": "167.71.59.12:8080",
"http": "187.110.16.2:3128",
"http": "144.217.74.219:3128",
"http": "119.81.71.27:8123",
"http": "103.35.64.12:3128",
"http": "157.245.209.92:80",
"http": "95.168.185.183:8080",
"http": "173.192.21.89:25"
},
}
agent.update(account, settings=settings)
biography = account.biography
name = account.full_name
cnt_proxy = 0 settings = None settings_list = [None] def Change_proxy(): global cnt_proxy global settings global settings_list if cnt_proxy == len(settings_list) - 1: cnt_proxy = 0 else: cnt_proxy += 1 settings = settings_list[cnt_proxy] print("Change proxy to", cnt_proxy) def Exception_handler(e): global cnt_proxy global settings global settings_list if "Cannot connect to proxy." in str(e.args[0]): del settings_list[cnt_proxy] print("Proxy is not working") Change_proxy() elif "with response code '429'" in str(e.args[0]): print("Proxy overloaded") Change_proxy() else: # TODO://Media except ProfilePage raise e def take_proxy_list(proxy_file_name): global settings_list with open(proxy_file_name) as proxies: for proxy in proxies: elem = {"proxies": {re.search(r".*://", proxy).group(0)[:-3]: proxy.rstrip()}} settings_list.append(elem) account = Account(people) agent.update(account, settings=settings) biography = account.biography name = account.full_name
Не пойму зачем всё это нужно, когда можно просто указать прокси и их использовать, вот так.
settings = { "proxies": { "http": "50.235.28.146:3128", "http": "23.97.101.222:80", "http": "200.89.178.73:8080", "http": "195.171.27.244:3128", "http": "109.226.233.31:3128", "http": "176.105.100.62:3128", "http": "165.22.44.147:80", "http": "167.71.59.12:8080", "http": "187.110.16.2:3128", "http": "144.217.74.219:3128", "http": "119.81.71.27:8123", "http": "103.35.64.12:3128", "http": "157.245.209.92:80", "http": "95.168.185.183:8080", "http": "173.192.21.89:25" }, } agent.update(account, settings=settings) biography = account.biography name = account.full_name
так у Вас в словаре proxies, на все значения один ключ - "http"
Get unexpected response from 'https://www.instagram.com/accounts/login/?next=/explore/locations/219892316/' Отвалился парсинг фото по геолокации. Это вышла обнова у Инстаграм?