Использование YQL и XPath для получения данных из HTML - PullRequest
1 голос
/ 29 июня 2011

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

Мой YQL-запрос был

select * from html
where url="http://www.nwjhl.com/leagues/standingsTotals.cfm?leagueID=15654&clientID=4594"

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

select * from html
where url="http://www.nwjhl.com/leagues/standingsTotals.cfm?leagueID=15654&clientID=4594"
and xpath="/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[2]/table/tbody/tr[2]"

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

1 Ответ

1 голос
/ 13 июля 2011

Это должно быть то, что вы хотите:

SELECT * FROM html 
WHERE url="http://www.nwjhl.com/leagues/standingsTotals.cfm?leagueID=15654&clientID=4594" 
AND xpath="//tr[@class='boxscores_tables1'] | //tr[@class='boxscores_tables2']"
...