Проблема с кодировкой

Challenger

Client
Регистрация
06.05.2016
Сообщения
22
Реакции
3
Баллы
3
Такой вопрос:
Использую сервис https://mercury.postlight.com/web-parser/, через CURL получаю данные с сайтов.

Данные с сайтов где charset=utf-8 "приезжают" в плохой кодировке, например:
"title":"Создание ассоциации – с чего начать?"
"content":"<div id=\"cb\"> <p>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x430;&#x441;&#x441;&#x43E;&#x446;&#x438;&#x430;&#x446;&#x438;&#x438; &#x43D;&#x430;&#x447;&#x438;&#x43D;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442;,"
Это у меня получилось перекинуть в нормальную кодировку и получить текст на русском языке.

А вот такой мусор получается, если сайт в кодировке windows-1251
"title":"пїЅ 5. пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ (пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅ)"
content":"<body id=\"pravo-lektsii-grajdanskoe\" class=\"site-material_ext_publish section-material-design noninitial-chapter color-cyan qp-ui qp-ui-mask\"> <header> </header> <p id=\"grid-cont\"> <section class=\"grid_outer chapter\"> <div class=\"article-content\"> <section class=\"cssfinode\"> <p>&#xFFFD; &#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD; &#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;&#xFFFD;"

Вопрос - что поправить, чтобы:
1) или изначально все получать русский текст независимо от кодировки сайта
2) перекодировать получаемый контент для сайтов с кодировкой windows-1251 в читаемый вид, например отсюда:
http://www.ualis.ru/registration/regassouz.html

Исходник проекта приложил, URL вставляется в переменную "url"
 

Вложения

  • curlz.7z
    curlz.7z
    797,7 KB · Просмотры: 354
Как этот вопрос связан с ZennoPoster?
Делайте запросы через стандартные GET\POST кубики и не будет таких проблем.
 
Согласен, с Zennoposter вопрос связан только тем, что curl запускается через zennoposter.

Вопрос про GET-кубик тогда. Каким образом можно в GET-кубик или в C# код поместить следующие данные?

GET https://mercury.postlight.com/parse...ostlight.com/building-awesome-cms-f034344d8ed
Content-Type: application/json
x-api-key: <your-api-key>

Это единственный пример кода, который предоставляет сервис. В справке и по форуму пример GET запроса с параметрами не нашел (или плохо искал), поэтому делал через cURL.
 
Согласен, с Zennoposter вопрос связан только тем, что curl запускается через zennoposter.

Вопрос про GET-кубик тогда. Каким образом можно в GET-кубик или в C# код поместить следующие данные?

GET https://mercury.postlight.com/parse...ostlight.com/building-awesome-cms-f034344d8ed
Content-Type: application/json
x-api-key: <your-api-key>

Это единственный пример кода, который предоставляет сервис. В справке и по форуму пример GET запроса с параметрами не нашел (или плохо искал), поэтому делал через cURL.
Начиная СО ВТОРОЙ строки в разделе "User Agent" на вкладке "Дополнительно".
В первой строке всегда указывается сам Useragent.
NnT3CsI.png
 
  • Спасибо
Реакции: Challenger
Сервис все равно выдает белиберду, но уже через GET-запрос а не через cURL))
Пробовал и с кодировкой UTF-8 и с Windows-1251. Походу, он или вообще не в состоянии отдать корректный запрос, или надо экспериментировать. В любом случае, спасибо за быстрый ответ.
 
Сервис все равно выдает белиберду, но уже через GET-запрос а не через cURL))
Вероятно проблема в сервисе, нет? :-)
Напишите в тех. поддержку их сервиса, скажите, что кириллица отображается некорректно.
 
  • Спасибо
Реакции: Challenger
Вероятно проблема в сервисе, нет? :-)
Напишите в тех. поддержку их сервиса, скажите, что кириллица отображается некорректно.
Написал, но скорее всего ничего не изменится. В принципе, нашел способ получать нужные данные и с тем что есть. Тему можно закрывать)
 
Get-запрос получил объявление, а контактных данных там нет.
Из сообщения выше вижу, что нужно прописать UserAgent. Что ещё нужно прописать, чтобы и контактные данные (например из http://bazarpnz.ru/ann/28084930/?sid=12635a2a510065ffec7c590ed5696115 )получить?
 
Get-запрос получил объявление, а контактных данных там нет.
Из сообщения выше вижу, что нужно прописать UserAgent. Что ещё нужно прописать, чтобы и контактные данные (например из http://bazarpnz.ru/ann/28084930/?sid=12635a2a510065ffec7c590ed5696115 )получить?
через GET-запрос на этом сайте не получится спарсить контакты, только через браузер из DOM их получать..
 
через GET-запрос на этом сайте не получится спарсить контакты, только через браузер из DOM их получать..
Тогда мой шаблон совершенен ((
Пойду антикапчу Лорда Афлекса прикручивать ((
 
Столкнулся с похожей проблемой, решил ее кубиком на C#

C#:
Развернуть Свернуть Копировать
// Если нужно брать текст из переменной
// string encodedText = project.Variables["Название_Переменной"].Value;

string encodedText = "Создание ассоциации – с чего начать?";

// Декодирование текста из UTF-8 в строку
string decodedText = Encoding.UTF8.GetString(Encoding.Default.GetBytes(encodedText));

//вывод результата в ЛОГ
return(decodedText);

//Если нужно выводить результат в переменную
//project.Variables["Название_Переменной"].Value = decodedText;
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)