Ссылка на консоль YQL
Запрос:
select * from html where url='http://www.cbs.com/shows/big_brother/video/' and xpath='//div[@id="cbs-video-metadata-wrapper"]/div[@class="cbs-video-share"]/a'
Возвращает:
<?xml version="1.0" encoding="UTF-8"?> <query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2011-07-09T23:14:02Z" yahoo:lang="en-US"> <diagnostics> <publiclyCallable>true</publiclyCallable> <url execution-time="146" proxy="DEFAULT"><![CDATA[http://www.cbs.com/shows/big_brother/video/]]></url> <user-time>163</user-time> <service-time>146</service-time> <build-version>19262</build-version> </diagnostics> <results> <a class="twitter-share-button" href="http://twitter.com/share"/> </results> </query>
Должно возвращать что-то похожее на:
<results> <a href="http://twitter.com/share" data-url="http://www.cbs.com/shows/big_brother/video/2045825951/big-brother-episode-1" class="twitter-share-button"></a> </results>
Если я возвращаю запрос на один уровень, он полностью удаляет элемент, который я также мог бы использовать для получения необходимых мне данных.
У нас есть новый html-парсер, который теперь распознает пользовательские атрибуты.
Добавьте compat="html5" для запуска нового парсера.
compat="html5"
Например:
select * from html where url = "http://mydomain.com" and compat="html5"