Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 08.09.2016
Сообщений: 17

Кодировка при запросе к API

08.09.2016, 12:35. Показов 3168. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Суть такова: через библиотеку re делаю запрос к API одного из сайтов. Один из параметров для этого запроса беру из файла. Параметр этот может содержать смесь кириллицы, латиницы и знаков препинания. При отправке кириллицы сервер отвечает, что ему такой параметр неизвестен. Если предварительно перевести этот файл в utf-8 (через Notepad++), то всё работает, за исключением случая, когда есть знак препинания. К примеру, слово "QR-код".


Python
1
2
3
4
5
6
7
8
for line in list_line:
with open('test.txt', 'r') as allLines:
    list_line = allLines.read().splitlines()
 
for line in list_line:
    req = {'action': 'query', 'format': 'json', 'titles': line, 'prop':'revisions', 'rvprop':'ids'}
    r3 = requests.post(baseurl + 'api.php', data=req)
    print(r3.json())
Как можно сделать код "всеядным"?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.09.2016, 12:35
Ответы с готовыми решениями:

Программа не дает ответ при запросе к API
Здравствуйте! Я хочу написать бота, который бы выдавал прогноз погоды, но при запросе в терминале он зависает, то есть предлагает ввести...

При post запросе токен не проходит авторизацию (Vk API)
Кто сталкивался с такой проблеммой? Все указано правильно, однако при post запросе токен авторизацию не проходит. Вот результат...

Кодировка при запросе к серверу
В общем при создании запроса к серверу столкнулся с проблемой,что русские буквы(кириллица я так понимаю по правильному...

3
Эксперт Python
 Аватар для dondublon
4649 / 2069 / 366
Регистрация: 17.03.2012
Сообщений: 10,173
Записей в блоге: 6
08.09.2016, 14:09
Надо читать файл в правильной кодировке.
Если из файла строку вы читаете в utf-8, а на самом-то деле она не в utf-8, то строка получается не такой, какой задумывалась. "Параметр неизвестен", всё логично.

Как определить кодировку файла? В общем случае - никак. Хотя есть либа chardet, делает умный анализ, но и она иногда даёт осечки.
Что со знаком препинания - неясно.
1
1 / 1 / 0
Регистрация: 08.09.2016
Сообщений: 17
08.09.2016, 14:21  [ТС]
Благодарю за ответ.

Python
1
with codecs.open('test.txt', 'r', encoding='utf-8', errors='strict') as allLines:
Теперь работает всё, за исключением случая, если в параметре есть запятая. Такое ощущение, что её нужно каким-то образом экранировать перед отправкой запроса.

На значение параметра title 'Буш, Джордж Уокер' сервер отвечает, что не знает такой страницы. Хотя в тестовой песочнице ресурса всё прекрасно работает.

XML
1
{u'batchcomplete': u'', u'query': {u'pages': {u'-1': {u'ns': 0, u'missing': u'', u'title': u'\ufeff\u0411\u0443\u0448, \u0414\u0436\u043e\u0440\u0434\u0436 \u0423\u043e\u043a\u0435\u0440'}}}}
0
Эксперт Python
 Аватар для dondublon
4649 / 2069 / 366
Регистрация: 17.03.2012
Сообщений: 10,173
Записей в блоге: 6
08.09.2016, 14:54
Наверное, не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2016, 14:54
Помогаю со студенческими работами здесь

Кодировка при запросе страницы
Я с помощью curl забираю title страницы. Скрипт в UTF-8. Если страница с которой забираю в кодировке utf-8 всё нормально. Если 1251 знаки...

Кодировка в Twebbrowser при запросе
Делаю парсер google на XE3 через webbrowser. При команде для русского языка и запросе "весна"...

Кодировка при запросе в поисковую систему
Есть на форме edit и я хочу отправить запрос в поиск.систему http://go.mail.ru/search?mailru=1&q='+Form1.sEdit1.text Проблема...

Правильная кодировка URL ссылки при запросе
Всем привет. Есть проблема, решить не могу, google не помогает. При нажатии на кнопку программа скачивает страничку с поисковым...

Почему при AJAX запросе сбивается кодировка
Где можно посмотреть? Куда обратить внимание Получаю HTML со ссылками не на русском а с кракозябрами Добавлено через 1 минуту ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru