Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Проблема с кодировкой во время работы parse #24

Open
immelnikoff opened this issue Apr 11, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@immelnikoff
Copy link

immelnikoff commented Apr 11, 2023

Возникла проблема с кодировкой во время парсинга:

data = cianparser.parse(
deal_type="sale",
accommodation_type="flat",
location="Москва",
rooms=3,
start_page=1,
end_page=2,
is_saving_csv=True,
is_latin=False,
is_express_mode=False)
Output:
Preparing to collect information from pages..
The absolute path to the file:
C:\Users\xxx\cian_parsing_result_sale_1_2_moskva_12_Apr_2023_00_44_16_279313.csv

The page from which the collection of information begins:
https://cian.ru/cat.php?engine_version=2&p=1&region=1&offer_type=flat&deal_type=sale&room3=1&with_neighbors=0

Collecting information from pages with list of announcements
Failed exception: 'charmap' codec can't encode character '\xc1' in position 148: character maps to . Progress ratio: 38 %. Average price: 111 115 271 rub
Ending parse on 1 page...

The collection of information from the pages with list of announcements is completed
Total number of parced announcements: 22. Average price: 107 843 719 rub

Проблему идентифицировал.
image
Дело в строке "ÁLIA (АЛИЯ)", а именно в символе Unicode "Á", имеющего в таблице Unicode 193-й порядковый номер, что в hex-формате равно \xc1. Именно это и сказано в описании ошибки.

lenarsaitov, ИМХО, если вы хотите оставаться в рамках 1-байтовой кодировки (что резонно для экономии места на диске), то вам нужно транслировать подобные символы Unicode в подходящие символы из ASCII.
Ну, или нужно переходить на utf-8.

PS.
Всё нормально отработало с параметром is_latin = True.
Хотя, не очень понятно почему, так как в доке написано

is_latin - необходимо ли преобразывание любой встрещающейся кириллицы в латиницу, по умолчанию False

Но Á – это не символ кириллицы...

@lenarsaitov lenarsaitov self-assigned this Oct 27, 2023
@lenarsaitov lenarsaitov added the bug Something isn't working label Oct 27, 2023
@lenarsaitov
Copy link
Owner

Добрый день!

Постараюсь в ближайшее время изучить данный вопрос.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants