Как поспешно Вы делаете выводы и навешиваете ярлыки…
В вебе предостаточно документов, скачав которые старым добрым урллибом и прогнав через чардет — получишь фигню. Я понимаю что такое кодировки и чем они отличаются от юникода. Рассуждать кто тут напортачил — это не особо полезная тема для обсуждения. И поверьте, в вебе множество случаев когда накосячили уже где-то заранее. Тут вопрос в другом. Не важно, u'йПЮЙНГЪАПШ АКЕЮРЭ' или 'йПЮЙНГЪАПШ АКЕЮРЭ' или ещё как то — чардет не поможет восстановить первоначальный текст.
Верно. Это, кстати, не учтено при написании ридми, но учтено в коде. Там есть удобная тулза для генерации словарей плюс-слов и 3-граммов. Так что, при желании всё это затачивается под нужную кириллицу довольно просто. По факту, чтобы законтрибьютить ещё один язык в библиотеку — нужно просто немного времени, текстовка для генерации словарей и список кодировок. Всё остальное в коде уже есть.
А ридми… Да, может стоит переписать на англ, но это уже как-нибудь потом в свободное время
Честно говоря я исходил из такой логики — разгадывать кириллические кракозябры может понадобиться только человеку который владеет… кириллице й!
В плане того, что говорит об этом политика pypi — не задумался как-то даже. Погуглю, если что ридми перепишу. Ну или ты может законтрибьютишь за спасибо? (:
Ну, фактически это означает что для решения данной задачи enca непригодна. Под «данной задачей» я понимаю получение строки «Кракозябры блеать» из строки «йПЮЙНГЪАПШ АКЕЮРЭ».
Тут я вряд ли подскажу (: Но кажется что можно написать скриптик, который просто будет итерировать по файлам и заменять их метаданные. Наверное нужно посмотреть в сторону чего-то типа eyeD3
Да, я тоже изначально думал попробовать сделать решение на основе картинки из этого поста, но потом всё-таки решил делать на основе 3-граммов — это быстрее для реализации.
По-моему, AlexeyTokar буквально в предыдущем комментарии предложил эту мысль, а я ответил почему это не то что нужно. А про phantomjs — штука хорошая, но не вполне понимаю для чего он тут нужен? Как он поможет в интерактивной разметке веб-страничек? Да и чем фантом удобнее PyQt4?
В целом со всеми замечаниями согласен и почти про все из них и так был в курсе. Тем не менее, в силу ограниченности свободного времени, выбор у меня был из 2-ух вариантов: выложить как есть и постепенно допиливать, или не выкладывать вообще, и не ясно когда ещё руки дойдут. Решил что первый вариант вполне приемлемый. Так что за замечания спасибо — учту. Но уже в следующих версиях.
Про замечание по поводу статьи в начале — полностью согласен. Однако, прошу заметить, что я и не писал что сделал что-то подобное. Упомянул её исключительно в сюжетном контексте (:
Да, так было бы правильно делать, если задача стоит выделять элемент на разных страницах одного ресурса. И то, в последнее время нельзя рассчитывать на фиксированную вёрстку и имена классов/айдишников.
В любом случае, основная мысль всего происходящего — это на основании обучения по страницам из разных ресурсов сделать алгоритм, умеющий распознавать целевой блок на всех ресурсах подобного класса.
По-умолчанию используется градиентный бустинг над деревьями решений. В целом, если глянуть код, становится понятно, что передать можно любой классификатор, т.к. функция которая производит обучение — это параметр в конструкторе. Если конкретнее, то текущая ф-ция обучения такая:
И передаётся она в инстанс браузера при создании вот так:
trainer = GuiTrainer(train_function=train)
В целом, статья может и куцая, но смысл её не в освещении математических/алгоритмических аспектов, как я уже писал. Смысл — рассказать что есть вот такая библиотека и приветствуются все желающие принять участие в её допиливании. Если это не ясно из текста — прошу прощения за сумбурность изложения. Буду учиться лучше излагать свои мысли О_о
В вебе предостаточно документов, скачав которые старым добрым урллибом и прогнав через чардет — получишь фигню. Я понимаю что такое кодировки и чем они отличаются от юникода. Рассуждать кто тут напортачил — это не особо полезная тема для обсуждения. И поверьте, в вебе множество случаев когда накосячили уже где-то заранее. Тут вопрос в другом. Не важно, u'йПЮЙНГЪАПШ АКЕЮРЭ' или 'йПЮЙНГЪАПШ АКЕЮРЭ' или ещё как то — чардет не поможет восстановить первоначальный текст.
Поправлю это сегодня, спасибо! Жди версии 0.3.0
Сначала:
Далее в питончике:
А ридми… Да, может стоит переписать на англ, но это уже как-нибудь потом в свободное время
В плане того, что говорит об этом политика pypi — не задумался как-то даже. Погуглю, если что ридми перепишу. Ну или ты может законтрибьютишь за спасибо? (:
Хотя
Или я неправильно готовлю enca?
В любом случае, основная мысль всего происходящего — это на основании обучения по страницам из разных ресурсов сделать алгоритм, умеющий распознавать целевой блок на всех ресурсах подобного класса.
И передаётся она в инстанс браузера при создании вот так:
В целом, статья может и куцая, но смысл её не в освещении математических/алгоритмических аспектов, как я уже писал. Смысл — рассказать что есть вот такая библиотека и приветствуются все желающие принять участие в её допиливании. Если это не ясно из текста — прошу прощения за сумбурность изложения. Буду учиться лучше излагать свои мысли О_о
void incomingConnection(int handle);
на сигнатуру
void incomingConnection(qintptr handle);
Описание проблемы есть вот тут.