Надеюсь, что кто-то может помочь ... вот так.
Я искал на этом форуме и использовал много ресурсов, но я застрял, заходя на сайт houzz.com.В основном я хочу войти в систему, а затем получить файл CSV, который содержит все заказы.Я использовал тот же код с Amazon, и он работал, но в этом случае здесь не работает, и я получаю следующую ошибку (ошибка 500): Журнал ошибок в houzz
Этокод, который я сейчас использую (некоторые биты находятся в комментариях для отладки, также я настроил все поля данных, анализируя фактический запрос POST, чтобы убедиться, что имена полей и значения были правильными, см. здесь )
import bs4, requests, urllib.request`
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 houzz
print('Logging in...')
response = session.get('https://www.houzz.com/signin/')
soup = bs4.BeautifulSoup(response.text, "html.parser")
signin_data = {}
# signin_form = soup.find('form', {'id': 'signinForm'})
# for field in signin_form.find_all('input'):
# try:
# signin_data[field['id']] = field['value']
# except:
# signin_data[field['id']] = ''
# print(signin_data)
signin_data[u'op'] = 'l'
signin_data[u'un'] = 'myusername'
signin_data[u'pwd'] = 'mypassword'
signin_data[u'rdr'] = 'https://www.houzz.com/'
signin_data[u'k'] = 'y'
signin_data[u'jt'] = 'AwA3yxJb1ahdYi5vieLiK-bK7DeXzEu_Eq8erpWgcOvcrYbzT0g'
signin_data[u'ajaxRequestId'] ='1'
signin_data[u'pageRequestId'] = '194e405c-77db-4de8-b21c-1d960e4af475'
signin_data[u'isResiv'] = 'false'
signin_data[u'__ct'] = 'AwA3yxJb1ahdYi5vieLiK-bK7DeXzEu_Eq8erpWgcOvcrYbzT0g'
signin_data[u'_csrf'] = 'AwA3yxJb1ahdYi5vieLiK-bK7DeXzEu_Eq8erpWgcOvcrYbzT0g'
# print(signin_data)
response = session.post('https://www.houzz.com/authorize', data = signin_data)
soup = bs4.BeautifulSoup(response.text, "html.parser")
# warning = soup.find('div', {'id': 'signinErrors'})
# if warning.text!='':
# print('Failed to login: {0}'.format(warning.text))
# else :
# print('Log in Successful')
response = session.get('https://www.houzz.com/browseBuyerOrders/vname=capolavori')
soup = bs4.BeautifulSoup(response.text, "html.parser")
print(soup)
urllib.request.urlretrieve('https://www.houzz.com/downloadOrdersCsv/vName=capolavori/s=all/sib=1', 'houzz_report.csv')
session.close()
Большое спасибо!