Я использую Python 3, чтобы написать сценарий для входа в Amazon, чтобы захватить мои подсветки Kindle. Она основана на этой статье: https://blog.jverkamp.com/2015/07/02/scraping-kindle-highlights/Невозможно войти в Amazon с помощью Python
Я не может успешно войти и вместо того, чтобы получить сообщение о том, чтобы включить кук для продолжения:
<RequestsCookieJar[<Cookie ubid-main=189-4768762-8531647 for .amazon.com/>]>
Failed to login:
Please Enable Cookies to Continue
To continue shopping at Amazon.com, please enable cookies in your Web browser.
Learn more about cookies and how to enable them.
Я включил запросы сеансы для обработки печенья, но это Безразлично Кажется, он работает.
Вот код, я использую, чтобы попытаться сделать это:
import bs4, requests
session = requests.Session()
session.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'
}
# Log in to Amazon, we have to get the real login page to bypass CSRF
print('Logging in...')
response = session.get('https://kindle.amazon.com/login')
soup = bs4.BeautifulSoup(response.text, "html.parser")
signin_data = {}
signin_form = soup.find('form', {'name': 'signIn'})
for field in signin_form.find_all('input'):
try:
signin_data[field['name']] = field['value']
except:
pass
signin_data[u'ap_email'] = 'myemail'
signin_data[u'ap_password'] = 'mypassword'
response = session.post('https://www.amazon.com/ap/signin', data = signin_data)
soup = bs4.BeautifulSoup(response.text, "html.parser")
warning = soup.find('div', {'id': 'message_warning'})
if warning:
print('Failed to login: {0}'.format(warning.text))
Есть ли что-то я пропускаю с моим использованием сессий?
Спасибо за ответ. Я обновил код до вашего предложения, но все же получил ту же ошибку. – tjm
@tjm, код отлично работает, какая версия запросов bs4 вы используете? –
Я использую bs4 0.0.1. Я принял ваше предложение и удалил попытку. Это похоже на трюк, и теперь я получаю