YQL丢失HTML元素属性?

Nur*_*ges 5 yahoo yahoo-pipes yql

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'
Run Code Online (Sandbox Code Playgroud)

返回:

<?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>
Run Code Online (Sandbox Code Playgroud)

应该返回类似的东西:

    <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>
Run Code Online (Sandbox Code Playgroud)

如果我将查询退出一级,它会完全删除元素,我也可以使用它来获取我需要的数据.

小智 8

我们有一个新的html解析器,可以识别自定义属性.

添加compat="html5"以触​​发新的解析器.

例如:

select * from html where url = "http://mydomain.com" and compat="html5"
Run Code Online (Sandbox Code Playgroud)