Не получается получить страницу instagram на сервере
На локале все получается выдает нужную страницу, но на сервере нет, код одинаковый.
У обоих <html lang="en" class="no-js not-logged-in client-root">, но на локале выдает страницу пользователя, а на сервере страницу для регистрации. Как мне это исправить?
Вот заголовки которые я прокидываю
HEADERS = {
'accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'
}
?__a=1 Так же работает только на локале
код:
import requests
POSTFIX = '?__a=1'
HEADERS = {
'accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36'
}
def get_json(url):
page = requests.get(url, headers=HEADERS)
print(page.text)
Ответы (2 шт):
Автор решения: Rolles
→ Ссылка
Возможно это решит вашу проблему.
Import
import requests
Code
# создаем сессию
session = requests.Session()
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
' (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36'}
# дальше отправляем данные для авторизации
def auth():
login = '' # логин аккаунта
password = '' # пароль аккаунта
data = {"username": login, "password": password} # данные для отправки
url = "https://www.instagram.com/"
session.post(url, data=data, headers=headers) # отправка данных
def get_json(url):
page = session.get(url, headers=headers) # меням requests на session
print(page.text)
Автор решения: Рауль Алимбеков
→ Ссылка
Это мне помогло https://stackoverflow.com/questions/66355609/cant-get-the-instagram-page/66357784#66357784, Instagram запрещает все диапазоны IP-адресов центров обработки данных и перенаправляет для входа в систему.