Если вы проверите эту страницу (http://buses.com/EN/cr/index.php) и введете в From
раздел Golfito
и To
раздел Cañon del Guarco
(дата и другие разделы не очень важны), вы будет перенаправлен на страницу с расписанием. Я играл с запросами в python и хотел сделать это с помощью кода. После проверки, какие данные были отправлены по запросу POST, я создал dict со следующими ключами и значениями
d = {'fromClass': 'Golfito',
'toClass': 'Cañon del Guarco',
'viaClass': '',
'jDate': '01/12/2020',
'jTime': '21:20',
'addtime': '0',
'lang': 'en',
'b2': 'Search connection'}
и вызвал функцию post запросов lib:
r = requests.post('http://horariodebuses.com/EN/cr/index.php', data=d)
и он в основном потерпит неудачу, утверждая, что в их базе данных нет Cañon del Guarco
, хотя я смог сделать это через их веб-сайт. (Это можно увидеть самостоятельно, если вы сохраните r
как файл html). Однако, если вы измените раздел «Кому» на другой город, в котором нет юникода (например, Liberia
, он будет работать. Через код (путем изменения на класс), а также через веб-сайт. Он будет в основном не работать для городов с символами Юникода с помощью кода.
Правильно ли я кодирую свой диктовку?
редактировать: я пытался закодируйте все мои значения с помощью utf-8, выполнив следующее:
data = {k: str(v).encode("utf-8") for k,v in d.items()}
edit2: мне удалось просмотреть данные формы с помощью консоли разработчика Google