войти на сайт в Python 3.6 без модуля запросов

1

Я пытаюсь войти на веб-сайт с помощью python 3.6, но он оказался более сложным, чем я предполагал. Пока это мой код:

import urllib.request
import urllib.parse

headers = {}
headers['User-Agent'] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"

url = "https://www.pinterest.co.uk/login/"

data = {
    "email" : "my@email",
    "password" : "my_password"}

data = urllib.parse.urlencode(data)
data = data.encode("utf-8")

request = urllib.request.Request(url, headers = headers, data = data)
response = urllib.request.urlopen(request)
responseurl = response.geturl()

print(responseurl)

Это вызывает ошибку 403 (запрещено), и я не уверен, почему, поскольку я добавил свой адрес электронной почты, пароль и даже изменил пользовательский агент. Я просто пропустил что-то простое, как кукейджер?

Если возможно, есть способ сделать это, не используя модуль запросов, поскольку это вызов, который мне предоставили, чтобы сделать это только с помощью встроенных модулей (но мне разрешено получить помощь, чтобы я не обманывал)

Теги:
python-3.x
urllib

1 ответ

2

Большинство сайтов будут использовать токен csrf или другие средства для блокировки именно того, что вы пытаетесь сделать. Одним из возможных способов решения проблемы было бы использование инфраструктуры автоматизации браузера, такой как селен, и вход в систему через пользовательский интерфейс сайта

Ещё вопросы

Сообщество Overcoder
Наверх
Меню