получить страницы [LWP] проанализировать их [HTML :: TokeParser] и сохранить результаты [DBI]

Тройная работа: я должен выполнить работу с древовидной задачей. У нас есть три задачи:

  1. Извлечь страницы
  2. Разобрать HTML
  3. Хранить данные ... И да - это настоящая Perl-работа!

Мне нужно выполнить парсер для всех 6000 подпрограмм. страницы сайта в Швейцарии. (правительственный сайт с очень хорошими серверами).

см. http://www.educa.ch/dyn/79362.asp?action=search и
(если вы не видите приблизительно 6000 результатов - выполните поиск с помощью .

Подробная страница выглядит так:

[текст ссылки] [1]

  • Ecole nouvelle de la Suisse Romande Гл. de Rovéréaz 20 Почтовый ящик 161 1000 Лозанна 12 Веб-сайт info@ensr.ch Тел .: 021 654 65 00 Факс: 021 654 65 05

другие подробные страницы показывают это:

educa.ch
Adresse - Schulen in der SchweizDruckenSchliessen
 
Auseklis - Schule für lettische Sprache und Kultur
 
Mutschellenstrasse 37
8002 Zürich
 
 
Tel:+41786488637
Fax:
 

Я хочу выполнить эту работу с помощью ** HTML :: TokeParser или HTML :: TokeParser ** или * HTML :: TreeBuilder :: LibXML * , но у меня мало опыта работы с HTML :: TreeBuilder :: LibXML

Какой из них вы бы предпочли для этой работы: Примечание - я хочу сохранить результаты в базе данных MySQL. Лучше всего сохранить его сразу после синтаксического анализа:

, поэтому у нас есть три задачи:

  1. Получить страницы
  2. Разобрать HTML
  3. Сохранить данные

Первый элемент: Использовать LWP: : UserAgent для извлечения. На этом форуме есть много примеров использования этого модуля для публикации данных и получения результирующих страниц. Кстати, мы можем использовать Mechanize, если захотим.

Второе: Разберите страницу, например, с помощью HTML :: TokeParser или другого модуля, чтобы получить только те данные, которые нам нужны.

Третье: Сохраняйте данные сразу в базе данных. Нет необходимости делать промежуточный шаг и записывать временный файл.

хммм - первый и второй вопрос - как получить и как разобрать.

1
задан meagar 8 December 2011 в 17:01
поделиться