Я хочу проанализировать сайт с помощью PHP DOM-Document: обратите внимание, что это быстрее и проще в использовании.Некоторые из вас убедили меня!Один вопрос - так как я новичок в php ;-), могу ли я применить XPaths-код
Пример: http://buergerstiftungen.de/cps/rde/xchg/SID-F8780E81-ABF20567/buergerstiftungen/hs.xsl/db.htm
Цель: получить результаты (примерно 213 различных записей)и проанализируем их, чтобы получить дамп базы данных для сохранения на локальном MySQL-Db!?
, кстати: см. две страницы результатов:
http://buergerstiftungen.de/cps/rde/xchg/SID-F8780E81-ABF20567/buergerstiftungen/hs.xsl/db_20302.htm http://buergerstiftungen.de/cps/rde/xchg/SID-F8780E81-ABF20567/buergerstiftungen/hs.xsl/db_20289.htm
Вы видите, что хранится много информации ...
ну, я пытался написать скребок с Perl - но мне не повезло.Perl для новичков очень и очень сложен.После этого я устал писать парсер на PHP - это немного проще.Но сайт (см. Страницы-детали) немного сложен.Как их анализировать - чтобы получить набор данных для локальной базы данных MySQL.Тогда у меня больше возможностей для поиска.Я хочу, чтобы данные были локальными (в моей системе OpenSuse Linux версии 11.3) в базе данных MySQL.
хорошо: у меня есть три части:
- выборка
- парсинг
- хранение (в MySQL: это создание MySQL-дампа)
Так как у меня очень мало опыта работы с XPath, у меня есть Xpather-Tool в моемMozilla-браузер.Но я не уверен, как мне их применять - см. Данные, которые я собрал - ниже: Возможно, некоторые из вас могут помочь мне здесь - и покажите мне, как применить их в коде парсера:
Мне нравится слышать отyou
См. здесь некоторые детали: результаты (из приблизительно 213 различных записей) - см. две страницы результатов: - собрал несколько Xpath-данных:
Пример: Bürgerstiftung Wiesloch http://buergerstiftungen.de/cps/rde/xchg/SID-A7DCD0D1-702CE0FA/buergerstiftungen/hs.xsl/db_20289.htm
/ html / body / div [@ id = 'main'] / div [@ id = 'wrapper'] / div [@ id = 'inner'] / div [@ id ='marginalblock'] / div [1] / p
1.Gründungsgeschichte / html / body / div [@ id = 'main'] / div [@ id = 'wrapper'] / div [@ id = 'inner'] / div [@ id = 'contentblock'] / div/ р [1] / сильный
2.Kurzvorstellung / Ziele / html / body / div [@ id = 'main'] / div [@ id = 'wrapper'] / div [@ id = 'inner'] / div [@ id = 'contentblock']/ div / p [2] / span [2] / span / b
3.Projekte / html / body / div [@ id = 'main'] / div [@ id = 'wrapper'] / div [@ id = 'inner'] / div [@ id = 'contentblock'] / div/ p [3] / span [2] / span / strong
Контакт: / html / body / div [@ id = 'main'] / div [@ id = 'wrapper'] / div [@ id =' inner '] / div [@ id =' marginalblock '] / div [1] / h6
Вопрос: хорошо, как применить полученные данные в Libxml - вчтобы получить PARSER-Part и запустить !?Я XPath-стартер!
Будем рады услышать от вас!ноль
PS - если мне нужно добавить больше информации - или если мне нужно спросить больше - пожалуйста, дайте мне знать!Извините за то, что вы новичок!; -)
PPS - и обновление: у меня есть Mysql-часть: это может выглядеть так:
CREATE TABLE IF NOT EXISTS `address` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(30) default NULL,
`contact-details` varchar(30) default NULL,
`street` varchar(30) default NULL,
`postal-code` varchar(30) default NULL,
`town` varchar(30) default NULL,
`phone` varchar(30) default NULL,
`email` varchar(30) default NULL,
`homepage` varchar(30) default NULL,
`summary` varchar(30) default NULL,
`projects` varchar(30) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
что-то подобное будет соответствовать потребностям..
Обновление; большое спасибо Lenzai за быстрый ответ:
Вы предлагаете попробовать что-то вроде этого:
$url="http://...";
$xpath_query="/html/body/...";
/html/body/div[@id='main']/div[@id='wrapper']/div[@id='inner']/div[@id='marginalblock']/div[1]/p
/html/body/div[@id='main']/div[@id='wrapper']/div[@id='inner']/div[@id='contentblock']/div/p[1]/strong
/html/body/div[@id='main']/div[@id='wrapper']/div[@id='inner']/div[@id='contentblock']/div/p[2]/span[2]/span/b
/html/body/div[@id='main']/div[@id='wrapper']/div[@id='inner']/div[@id='contentblock']/div/p[3]/span[2]/span/strong
/html/body/div[@id='main']/div[@id='wrapper']/div[@id='inner']/div[@id='marginalblock']/div[1]/h6
$ch=curl_init($url);
$res=curl_exec($ch);
$dom = new DOMDocument()
$dom->loadHTML($res);
$xpath=new DomXPath($dom);
$node= $xpath->query($xpath_query)->item(0);
echo $node->nodeValue;
У меня есть Curlвключен здесь.Это не проблема.И Xpath я должен ввести
в этой строке: $ xpath_query = "/ html / body / ...";
Вопрос: Должен ли я ввести все Xpaths, которые упомянуты выше .. от 1. до 3 ... и т. Д. Как это выглядит в конце концов? Можете ли выпомогите мне здесь - я очень новичок в php?
С нетерпением жду, чтобы услышать от вас!Большое большое спасибо за все и любую помощь!
ноль