Игорь Петрович

MLS парсер забирает не все фото, и вопрос по коду Yandex Realty Language

Recommended Posts

Парсер не забирает все фотографии, при количестве объектов с фото более 12-15-ти, парсер фото оставляет в Кэше, архив фото и кеш фото, при ручном запуске парсера фото. 

Фатальная ошибка: Максимальное время выполнения 30 секунд превышен в /home/vhrzmnrx/public_html/apps/system/lib/sitebill.php на линии 2582.

Объем фото 150 Мб.

 

И еще в Yandex Realty Language поддерживаються форматы: <address>Пушкинская ул., д. 12</address<address>Измайловский пр., 16</address

То есть в коде может содержаться, буква д и может и не быть, Ваш парсер читает, второй вариант, а Квартал Про формирует XML-код по первому варианту.

Как исправить парсер, что бы он забирал инфопрмацию о номере дома, и для кода с буквой д., номер дома например обязательное условие для выгрузки на АФУ. Очень хочеться что бы парсер его читал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Номера домов

 

/apps/mlsparser/admin/admin.php

строка 756

$number=(int)trim($number);

заменяем на

$number=trim($number);$number=preg_replace('/^([^\d]+)/', '', $number);

В результате этого номера вида

"д. 12", "дом 5", "д.13а", "стр. 3 корпус 4" 

будут приводиться к 

"12", "5", "13а", "3 корпус 4"

Фатальная ошибка

Тут проблема в том, что настройками вашего хостинга не предусмотрено выполнение длительных и тяжелых задач коими является вгрузка и обработка картинок - ему банально не хватает времени, что бы обработать картинки.

Вариантом может быть изменение настроек на лету через ini_set, если такое позволяет хостер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Строку 756 заменил, отпишусь о результате позже.

 

А по поводу Фатальной ошибки. У меня аренда СРМ за 300 рублей. хостинг Ваш.

Что, теперь перезжать на другой хостинг что бы все норм работало?

Это ладно пока тестовый режим с 2Гб места. Можно было предположить что туда можно накидать, 100 объектов, по 10Мб фоток.

А перспективе прийдется однозначно увеличивать объемы хостинга и спокойно без ограничений выгружаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На нашем хостинге, к сожалению, не получится распарсить архив 150 мб. с фото, это слишком много. На других хостингах думаю такие же ограничения будут.

Я вижу тут другой выход - уменьшать размер архива и выгружать по меньшему количеству фото.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, Дмитрий, настроил отгрузку только фото новых объектов. Теперь все ок.

Но вот если за период обновления данных для отправки на сайт собереться много объектов с фотами, то это приведет к тому что не все долетит и опять начнет засоряться кеш. Ну это думаю можно будет побороть частотой отправки.

По поводу строки 756, после того как прикрутил Ваши строчки, ничего не изменилось, :( Может дело в том, что я редактировал ПХП в текстовом редакторе? Вообщем эту проблему победили тем что автор программы Квартал изменил код в отправляемом урл. на без буквы "д".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может дело в том, что я редактировал ПХП в текстовом редакторе? Вообщем эту проблему победили тем что автор программы Квартал изменил код в отправляемом урл. на без буквы "д".

Т.е. решилась проблема сейчас с Д?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Теперь вопрос такой!?

Я планирую закидывать информацию об объектах на сайт через парсер МЛС, (вроде уже все отладили в тестовом режиме), и при этом информацию об объектах далее с помощью выгрузок размещать на рекламных площадках.

На данном этапе возникает два вопроса.

1. После отправки фото, захожу на сайт, установить галочку для выгрузки в АФУ, при этом пропадает "+" у телефона, причем пропадает, не только в форме, но и в базе данных, так, как отображается на сайте он без "+". (ну или при установке координат происходит то же самое.).

2. Есть желание свормировать в УРЛ.ХМЛ файле, команду для установки флагов: "выгрузка АФУ", "выгрузка Циан", "выгрузка яндекс", а парсер заставить понимать эти команды (строки) и раставлять соответсвующие атрибуты объектам. то есть тем самым пользоветелю не нужно будет, после отправки инфы на сайт еще и заходить в админку, для расстановки этих самых атрибутов. Вот вопрос в том, как это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

проблема с "д" решилась. Я попросил Сергея исправить код отправляемого ХМЛ, но буква "д", была зарыте у него в коде глубоко, вот сейчас вышли обновления Квартал ПРО, там в коде летит инфа без буквы "д". Ну и соответственно парсер её читает, ньюанс один остался, но он не смертельный, не отправляються данные корпуса, например в коде:

<address>
Юмашева Адм., 19А, к. А
</address>

присутствует буква корпуса, а парсер её отбрасывает и на сайт не прикручивает.

причем после того как прописал вот это:

$number=trim($number);
$number=preg_replace('/^([^\d]+)/', '', $number);

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

В принципе это не самая ужасна проблема, но если бы парсер читал с номерами корпусов было бы очень даже правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Поменяйте тип поля с mobilephone на safe_string в редакторе форм для таблицы data

2. Это также надо просить Сергея, чтобы он добавил эти поля в выгрузку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но если бы парсер читал с номерами корпусов было бы очень даже правильно.

 

Нужно избавиться от запятой между номером дома и номером корпуса. Адрес ожидается в формате "название_улицы,номер_дома". На третий кусок, который после запятой после номера дома, он уже не рассчитывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1. Поменяйте тип поля с mobilephone на safe_string в редакторе форм для таблицы data

2. Это также надо просить Сергея, чтобы он добавил эти поля в выгрузку.

Спасибо Дмитрий! 

1. Замена с mobilephone на safe_string, помогла исправить ситуацию.

2. Насколько я разбираюсь в ваяниях Сергея (а разбираюсь я в них плохо :) ), возможность установить такие атрибуты есть, я так понимаю, что я сейчас с сергеем согласую этот вопрос, а потом сообщю Вам, в каких командах УРЛ-файла, они устанавливаються и вы мне поможите, научить парсер эти поля понимать и устанавливать в нужное место необходимые атрибуты.

 

 

 

Нужно избавиться от запятой между номером дома и номером корпуса. Адрес ожидается в формате "название_улицы,номер_дома". На третий кусок, который после запятой после номера дома, он уже не рассчитывает.

Дак вроде буква обозначающая номер корпуса написана в коде сразу после номера дома, слитно, после запятой эта информация только лишь дублируеться, её парсеру можно не читать. То есть в коде все так, как должно быть, но информация не читаеться.

 

 

<address>

Юмашева Адм., 19А, к. А

</address>

 

P.S. Замечу, что изменения для ПХП-файла парсера которые вы предложили я применить не смог, то есть парсер у меня сейчас работает дефолтный. После того как прописал предложенный вами вариант, номер дома не читался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На дефолтном не забирает номер корпуса (литеру номера дома), потому что там стоит приведение к числу.

Мой вариант рабочий. Я его проверил даже на адресе "Юмашева Адм., 19А, к. А". Попробуйте еще раз внести эти изменения. Единственным дополнением может быть еще через десяток строк от места вставки строка

if($number!=0){

ее так же нужно заменить на 

if($number!=''){

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

На дефолтном не забирает номер корпуса (литеру номера дома), потому что там стоит приведение к числу.

Мой вариант рабочий. Я его проверил даже на адресе "Юмашева Адм., 19А, к. А". Попробуйте еще раз внести эти изменения. Единственным дополнением может быть еще через десяток строк от места вставки строка

if($number!=0){

ее так же нужно заменить на 

if($number!=''){

Спасибо abushyk, помогли ваши рекомендации, все вкрутил в ПХП, буквы и дроби типа 12/6, полетели на сайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас