Страница 19 из 68
Рис. 4. Результат запроса на сайт e1.ru в поисках повара в Екатеринбурге.
Адрес страницы, показанной на рис. 4, выглядит следующим образом: http:// www.e1.ru/business/job/resume.search.php.
Не нужно быть в высшей степени сведущим относительно всех премудростей Интернета, чтобы заметить: адрес этот выглядит гораздо короче предыдущего. Кроме того, в нем отсутствует описание запроса. Попытка перейти повторно на нужную страницу, просто введя в поисковую строку браузера вышеуказанные координаты, как раз и приводит к незаполненной форме.
Связано такое положение вещей с тем, что в принципе существует два типа запросов – так называемые GET и POST.
При запросе типа GET параметры поиска указаны в адресной строке, поэтому переход по такому адресу приводит на нужную страницу (этот запрос выглядит как достаточно длинная строка с множеством символов, в том числе знаком «%» или с большим количеством англоязычных слов).
Метод POST не подразумевает передачу параметров поиска через адресную строку. Данные о запросе передаются отдельно, по служебным каналам и не могут быть просмотрены обычным пользователем.
Тем не менее, часто и в такой ситуации можно найти решение. Если на странице, которая изображена на рис. 8, перейти по ссылке на вторую страницу результатов запроса (кликнув мышкой по цифре «2» в перечне страниц), то адрес этой второй страницы будет содержать параметры поиска: http://www.e1.ru/business/job/resume.search.php?sex=l&keywords=%EF%EE%E2%E0%F0+%EE%F4%E8%F6%E8%E0%ED%F2&search_by=1&show_for=7&order_by=2&search=yes&page=1.
Видно, что адрес стал длинным, и в нем появилось множество символов, которых не было вначале. Интересно, что если после этого кликнуть по ссылке первой страницы и именно таким путем вернуться на первую страницу, то у нее также появится адрес, содержащий описание самого запроса и позволяющий при вводе его в адресную строку браузера попадать непосредственно на эту первую страницу: http://www.e1.ru/business/job/resume.search.php?sex=l&keywords=%EF%EE%E2%E0%F0+%EE%F4%E8%F6%E8%E0%ED%F2&search_by=1&show_for=7&order_by=2&search=yes&page=0.
Мы приводим эти, на первый взгляд, абстрактные для гуманитариев закорючки не из любви к теории. Практическое значение подобного явления становится понятно, когда возникает необходимость поставить на мониторинг страницы сайта, имеющего подобные алгоритмы работы. Ведь этот «длинный» адрес первой страницы, полученный путем перехода на вторую страницу и возврата с нее обратно на первую, можно поставить на мониторинг.
Казалось бы, проблема решена. Но и тут не исключены сложности. Хорошо, когда можно перейти с первой страницы на вторую, а затем вернуться. Однако по некоторым запросам страница бывает всего одна, поэтому перейти с нее просто некуда. Выход и в таком случае есть. Правда, он несколько сложнее тех решений, о которых речь шла выше. Предлагаем рассмотреть данный вопрос более подробно, поскольку соответствующей литературой, как нам кажется, он пока еще специально не освещался. А кроме того, научиться ставить подобные сложные страницы на мониторинг отнюдь не помешает – это очень экономит время. Предлагаемое решение разработано нами совместно с участниками форума на сайте e1.ru в Екатеринбурге и со слушателями нашего курса «Маркетинг рисков и возможностей: конкурентная разведка». Итак, постараемся максимально доступно изложить весь алгоритм действий, чтобы он был понятен как можно более широкому кругу пользователей.
Для того чтобы решить проблему постановки на автоматический мониторинг страниц, которые выдаются в ответ на запрос в единственном экземпляре, следует обратиться к базе данных таким образом, чтобы можно было заведомо рассчитывать на результат, состоящий из более чем одного ресурса. Применительно к сайтам вакансий и резюме это должны быть массовые специальности. Зададим поиск по признаку (по ключевому слову) «Менеджер» на странице поиска резюме на сайте e1.ru (рис. 5).
Рис 5. Введен запрос по слову «Менеджер» в форме поиска резюме не сайте e1.tif.
Получив результат – первую страницу, мы точно так же, как в предыдущем случае, перейдем на вторую, кликнув по ссылке с номером страницы «2». Ее адрес (URL) выглядит так: http://www.e1.ru/business/job/resume.search.php?sex=l&key_words=%EC%E5%ED%E5%E4%E6%E5%F0&search_by=1&show_for=7&order_by=2&search=yes&page=1.
Затем вновь вернемся на первую страницу, точно так же кликнув по ссылке страницы «1». После этого, как мы говорили ранее, в браузер будет загружена первая страница, полученная возвратом со второй. Ее URL выглядит следующим образом (это реальный адрес): http://www.e1.ru/business/job/resume.search.php?sex=l&keywords=%EC%E5%ED%E5%E4%E6%E5%F0&search_by=1&show_for=7&order_by=2&search=yes&page=0.
Сравните адреса первой и второй страниц. Видно, что они почти идентичны, за исключением последнего знака: вторая страница в конце адреса содержит цифру «1», а первая – цифру «0». Кстати, заметим, что третья страница будет оканчиваться на «2» – это подтверждено экспериментально.
Теперь обратите, пожалуйста, внимание на сам набор символов: «%EC%E5%ED%E5%E4%E6%E5%F0».
Он начинается после знака «=» и заканчивается перед знаком «&». Этот перечень и представляет собой слово «Менеджер», написанное в определенной кодировке. В данном случае нам неважно, как она называется, гораздо существеннее то, что это стандартная кодировка, которая применяется во всех системах. Если же кому-то из читателей это все-таки интересно, то сообщаем, что именуется она не иначе как UrlEncode, а то, что стоит после знака процента, – код символа в UTF-8.
Научившись разбираться во всех приведенных нюансах, вы сможете автоматизировать процесс создания набора символов для подобных сложных страниц. Причем изучать кодировки для этого совершенно не требуется.
Проведем простейший эксперимент: наберем в поисковой строке Яндекса слово «Manager», а в отдельном запросе – слово «Менеджер» и сравним URL’ы страниц, которые будут получены в ответ.
Итак, адрес страницы по англоязычному запросу «Manager» выглядит следующим образом:
http://www.yandex.ru/yandsearch?stype=www&nl=0&text=Manager.
А вот так выглядит URL ресурса по русскоязычному запросу «Менеджер»:
http://www.yandex.ru/yandsearch?text=%EC%E5%ED%E5%E4%E6%E5%F0&stype=www.
Очевидно, что кодированные тексты в запросе резюме на сайте e1 и на Яндексе по слову «менеджер» идентичны и имеют вид
«%EC%E5%ED%E5%E4%E6%E5%F0».
Мы уже располагаем примером синтаксиса строки страницы номер один с сайта e1 по запросу «менеджер»:
http://www.e1.ru/business/job/resume.search.php?sex=l&keywords=%EC%E5%ED%E5%E4%E6%E5%F0&search_by=1&show_for=7&order_by=2&search=yes&page=0.