Парсер-преобразователь фида Яндекс.Работы

Алексей17 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
02.08.2014

Здравствуйте!

Есть файл с фидами яндек.работы по городам России. В списке порядка трехсот строк типа:

10|http://rabota.yandex.ru/rss.xml?currency=RUR&text=&sort=cr_date&rid=76 #Хабаровск

10 - сколько раз в сутки следует парсить фид (через равные промежутки времени).

далее урл и комментарий (Город или населенный пункт, чтобы было понятнее)

Парсер должен собирать вакансии заданное кол-во раз и записывать их в файл на сервере. Для Хабаровска это будет: 76.xml

Причем записывать в преобразованном виде. Скорее всего работать по крону будет, как я понимаю.

Сейчас одна вакансия это:

Продавец-консультант салона связи МТС (г. Хабаровск, р-н Центр) (от 26 000 до 39 000 руб.)

http://www.url.ru/vacancy-26802666-140729.html

http://www.url.ru/vacancy-26802666-140729.html

Сб., 02 авг. 2014 10:56:41 +0400

Вакансия от компании МТС.<br/>Консультирование клиентов по представленному ассортименту товара; продажа мобильных телефонов, цифровой техники и аксессуаров; работа с кассой и отчетной документацией

Если у тебя уже есть: среднее образование (11 классов), интерес работать в сотовом ритейле, желание стать экспертом в области цифровой техники - Стань частью Нашей Команды, ПОЗВОНИ на круглосуточную Горячую линию по подбору...

Должно быть из этого примера:

6140729

Продавец-консультант салона связи МТС

http://www.url.ru/vacancy-26802666-140729.html

МТС

Сб., 02 авг. 2014 10:56:41 +0400

Консультирование клиентов по представленному ассортименту товара; продажа мобильных телефонов, цифровой техники и аксессуаров; работа с кассой и отчетной документацией

Если у тебя уже есть: среднее образование (11 классов), интерес работать в сотовом ритейле, желание стать экспертом в области цифровой техники - Стань частью Нашей Команды, ПОЗВОНИ на круглосуточную Горячую линию по подбору...

32500

Подробнее, что преобразовали.

1. Добавили jobkey. Чтобы получить номер берется урл на вакансию и удаляется из него все кроме цифр. Оставляем максимум СЕМЬ цифр с конца и записываем это в jobkey

2. Из title удаляем все скобки со всем содержимым (з/п будем еще использовать)

3. Добавляем company, значение для которого берем из поля description: Вакансия от компании МТС.<br/>

4. Из description, соответственно, удаляем все до .<br/> (включительно).

5. Добавляем salary. Есть заголовки с такими типами уровня з/п:

(22 000 руб.)

(от 26 000 до 39 000 руб.)

или вообще могут отсутствовать. Может еще есть какие-то формы записи, но не встречал.

Значит в salary записывает в первом случае 22000, во втором среднее значение: 32500, а в третьем ничего, понятное дело.

Созданный файл (76.xml) обновляется новыми записями. Все, что добавлено больше ДВУХ суток назад удаляется, чтобы не разбухал неимоверно.

Как я уже говорил будет порядка трехсот файлов. Поэтому надо по оптимизации процесса подумать, чтобы разнести по времени коннекты к Я.Работе с учетом кол-ва считываний каждого фида.

Заявки фрилансеров