Но я не могу этого сделать, даже если использую Request.Session() , потому что я не могу «Включить файлы cookie».
Не могли бы вы сказать мне, как исправить код? Почему «dict(response.cookies)» возвращает пустой результат?
Код: Выделить всё
# creating all input tag information (hidden tags are included)
# {'pageId': 'ape:dXNmbGV....'email': 'xxx@xxx', 'password': 'xxx', 'create': '0'}
def create_signin_data(res, user, pass) -> str:
bs = BeautifulSoup(res.content, "html.parser")
signin_data = {s["name"]: s["value"]
for s in bs.select("form[name=signIn]")[0].select("input[name]")
if s.has_attr("value")}
signin_data[u"email"] = user
signin_data[u"password"] = pass
return signin_data
signin_url ="https://www.amazon.com/ap/signin?_encoding=UTF8&........."
action_url ="https://www.amazon.com/ap/signin"
### create session
session = requests.Session()
res = session.get(signin_url)
# res = session.get(signin_url, cookies = res.cookies) -> the result is the same
cookie_data = dict(response.cookies) # empty dict {}
### sign in
signin_data = create_signin_data(res, "user@addr", "pass")
res = session.post(signin_url, signin_data)
# res = session.post(action_url, signin_data) -> the result is the same
# res = session.post(signin_url, signin_data, cookies=cookie_data ) -> the result is the same
print(res.content)
Включите файлы cookie, чтобы продолжить
Чтобы продолжить покупки на Amazon.com, включите файлы cookie в своем веб-браузере.
После того как вы включили файлы cookie в своем браузере, нажмите кнопку ниже, чтобы вернуться на предыдущую страницу.
Я хочу получить верхнюю страницу после входа в систему (ваш Amazon.com)
Подробнее здесь: https://stackoverflow.com/questions/471 ... n-requests
Мобильная версия