Как использовать XPath или xgrep для поиска информации в Википедии? - PullRequest
0 голосов
/ 22 декабря 2010

Я хотел бы почерпнуть немного (немного) информации из Википедии.Скажем, у меня есть список университетов и их страница в Википедии.Могу ли я использовать выражение xpath для поиска веб-сайта (домена) этого университета?

Так, например, если я получу страницу

curl http://en.wikipedia.org/wiki/Vienna_University_of_Technology 

, это выражение xpath должно найти домен:

http://www.tuwien.ac.at

В идеале это должно работать с инструментом командной строки Linux xgrep или аналогичным ему.

1 Ответ

1 голос
/ 22 декабря 2010

С префиксом h, связанным с http://www.w3.org/1999/xhtml URI пространства имен:

/h:html/h:body/h:div[@id='content']
               /h:div[@id='bodyContent']
                /h:table[@class='infobox vcard']
                 /h:tr[h:th='Website']
                  /h:td/h:a/@href

Кроме того, похоже, что на вики-странице есть правильно сформированный XML (несмотря на то, что он работает как text / html) Итак, если у вас есть XML-документ с URL-адресами страниц, такими как:

<root>
   <url>http://en.wikipedia.org/wiki/Vienna_University_of_Technology</url>
</root>

Вы можете использовать:

document(/root/url)/h:html/h:body/h:div[@id='content']
                                  /h:div[@id='bodyContent']
                                   /h:table[@class='infobox vcard']
                                    /h:tr[h:th='Website']
                                     /h:td/h:a/@href
...