Сервисы обхода капч
Как передать извне значения нескольких объявлений?
-
@fox said in Как передать извне значения нескольких объявлений?:
За оскорбление других участников форума последует бан. Относитесь более сдержано к помощи, помогают здесь форумчане в своё свободное время, бесплатно и по личной инициативе.
Так я же не о участниках форума! А о тех, кто создавал csv, порадив такую путаницу в виде сообщений "что за кразякабры выводятся, как открыть csv"! Вот таких анти-решения я и не хотел видеть в виде копипаста, но видимо выше участники меня не слышат, при этом пишут "решения", на которые если не ответить - то как будто я их принял, хотя вообще никуда не годные.
Мне нужны данные от гения. Подобны вашим. :) И по моему только это достойно почтительного отношения.
Самый простой способ всё таки использовать ресурс из файла, хранить текст с разделителем, который не будет встречаться в тексте, чтобы удобнее было парсить.
Да, мне тоже это так видится, но вот вопрос в редактировании этого файла? Менять данные, дополнять например? То есть csv, только по нормальному?
-
@az-lubov8 said in Как передать извне значения нескольких объявлений?:
Самый простой способ всё таки использовать ресурс из файла, хранить текст с разделителем, который не будет встречаться в тексте, чтобы удобнее было парсить.
Да, мне тоже это так видится, но вот вопрос в редактировании этого файла? Менять данные, дополнять например? То есть csv, только по нормальному?
Если нужно редактировать данные в процессе работы, то лучше работать с базой. Файл в многопотоке может начать выдавать ошибки, когда несколько потоков одновременно будут пытаться прочитать и записать одновременно.
Данные для заполнения базы при старте можно как раз брать из файлов.
-
@fox said in Как передать извне значения нескольких объявлений?:
Если нужно редактировать данные в процессе работы, то лучше работать с базой.
Нет, необходимоти такой нет. Нужна наглядность. И простота.
Mongo у меня иногда тупит, не включается, плюс проектом не открыть актуальную базу данных, используется предыдущая. На другом компьютере вообще приходится создавать базу данных по новой, вспоминая таблицы и колонки.
-
@az-lubov8 на сайте открывается нормально, потому-что сайт грузится в кодировке utf. В системе же файлы по умолчанию создаются с кодировкой ANSI. Буквально недавно сталкивался с подобной проблемой, когда необходимо было спарсить данные и занести их в csv и решил эту проблему путем предварительного создания нужного файла и изменения его кодировки на utf. Это простое, банальное решение, но задача была одноразовой, так что, как-то особо заморачиваться не было мотивации. Но, если бы надо было бы сделать что-то более конвеерное, то я бы покопался в JS-функциях по работе с кодировками
-
@yumilen said in Как передать извне значения нескольких объявлений?:
на сайте открывается нормально, потому-что сайт грузится в кодировке utf. В системе же файлы по умолчанию создаются с кодировкой ANSI.
Давайте по простому. Ответьте самому себе: когда вы открываете сайт, вы при этом сообщаете браузеру в какой кодировке открывать, мол этот сайт открывать в utf-8 , а вон тот в windows-1251?
Я не ищу извращений.
-
@az-lubov8 said in Как передать извне значения нескольких объявлений?:
Менять данные, дополнять например?
*Дополнять из автоматизатора.
-
@az-lubov8 разве здесь не ту же проблему обсуждают?
https://community.bablosoft.com/topic/535/как-изменить-кодировку-при-записи-файла -
@yumilen said in Как передать извне значения нескольких объявлений?:
разве здесь не ту же проблему обсуждают?
https://community.bablosoft.com/topic/535/как-изменить-кодировку-при-записи-файлаНет, там обсуждение как подстроиться под извращение и нерасторопность создателей и продвигателей csv.
-
Вообще как вижу нормальную работу.
- Подключение файла csv.
- Получение массива значений каждой строчки (исключая первую) для цикла, при этом у каждого значения: ключ = название из заголовка.
array( array('Заголовок' => 'Куплю', 'Текст' => 'Куплю что нибудь', 'Минимальная цена' => 100), array('Заголовок' => 'Продам', 'Текст' => 'Продам что нибудь', 'Минимальная цена' => 100), ... )- Возможность заменить значение.
В php есть возможность такое проделать.
Я не против если нужно при выборе csv ещё выбирать кодировку, разделитель и экранизацию.
-
@az-lubov8 said in Как передать извне значения нескольких объявлений?:
@drprime Пробовал делать автоопределение кодировки? Разделителя? Экранизации?
При сохранении все екранизируется. Потом в Парсить строку нормально распарсится. Может стоит попробовать?