Нужны идеи по извлечению данных с сайта - PullRequest
0 голосов
/ 03 октября 2011

Я в тупике и нуждаюсь в некоторых идеях о том, как это сделать или даже о том, можно ли это сделать вообще.

У меня есть клиент, который хотел бы создать веб-сайт для англоязычных путешественников в конкретной стране (в данном случае, в Таиланде).Различные виды транспорта (автобус и поезд) имеют хорошие веб-сайты для предоставления соответствующей информации.И оба они очень статичны с точки зрения данных, которые они представляют (графики редко меняются).Вот один из сайтов, с которых мне нужно было бы получить информацию: расписание поездов Клиент хочет предоставить пользователям возможность искать начальное и конечное местоположение и определять, используя информацию внешнего сайта, как они могут лучше всегодобираться туда, предоставляя маршрут с расписанием времени для различных видов выбранного транспорта.

Теперь, исходя из моего ограниченного опыта, я думаю, что способ сделать это - извлечь исходную информацию о расписании из внешнегосервер сайта (через API или другие средства) и сохраняйте информацию в базе данных, которую можно запрашивать по мере необходимости.Нашей первой мыслью было связаться с соответствующими органами власти, чтобы определить, как / если это можно сделать, но это оказалось проблематичным, главным образом, из-за языкового барьера.

Мой клиент предположил, что в основном означает "очистка экрана", но звучит так, что в лучшем случае это будет сложно, загрузив веб-страницу (-ы) и отфильтровав HTML-код для поиска соответствующих / необходимых данных для помещения в базу данных.Меня беспокоит то, что информация на этих в основном статических сайтах настолько статична, что данные даже не хранятся в базе данных для построения страницы, а сама веб-страница обновляется (жестко), когда что-то меняется.

Я мог бы действительно использовать некоторую помощь и предложения здесь.Спасибо!

Ответы [ 3 ]

2 голосов
/ 03 октября 2011

Соскоб с экрана всегда проблематичен для IMO, так как вы находитесь во власти человека, который написал страницу.Если контент статический, то я думаю, что было бы проще скопировать данные вручную в вашу базу данных.Если вы хотите быть в курсе изменений, вы можете сделать снимок страницы, когда транскрибируете информацию и запускаете задание, чтобы периодически проверять, изменилась ли страница из снимка.Когда это происходит, он отправляет электронное письмо для вас, чтобы обновить его.

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

В конечном счете, это пример того, сколько усилий (затрат) ваш клиент готов нести за точность

1 голос
/ 08 июля 2013

Я сделал это для следующего сайта: http://www.buscatchers.com/, так что это определенно более чем выполнимо!Ключевой особенностью решения для веб-поиска для сайтов путешествий является то, что оно должно отправлять вам электронные письма, если что-то пошло не так во время процесса очистки.На сайте я использую двухдневное окно, чтобы у меня было два дня, чтобы исправить код, если дизайн изменится.Только один или два раза я должен был изменить свой код, и это очень легко сделать.

Что касается некоторых примеров.Здесь есть некоторый упрощенный исходный код: http://www.buscatchers.com/about/guide. Полный исходный код проекта находится здесь: https://github.com/nicodjimenez/bus_catchers. Это должно дать вам несколько идей о том, как начать работу.

0 голосов
/ 04 октября 2011

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

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