Using YQL multi-query & XPath to parse HTML, how to escape nested quotes?

前端 未结 2 748
死守一世寂寞
死守一世寂寞 2021-02-10 18:00

The title is more complicated than it has to be, here\'s the problem query.

SELECT * 
FROM query.multi 
WHERE queries=\"
    SELECT * 
        FROM html 
                


        
2条回答
  •  长情又很酷
    2021-02-10 18:36

    You need to escape whatever character is delimiting your XPath query with a double backslash... in other words:

    SELECT * FROM query.multi 
    WHERE queries="
        SELECT * 
            FROM html 
            WHERE url='http://www.stumbleupon.com/url/http://www.guildwars2.com' 
            AND xpath='//li[@class=\\'listLi\\']/div[@class=\\'views\\']/a/span';
        SELECT * 
            FROM xml 
            WHERE url='http://services.digg.com/1.0/endpoint?method=story.getAll&link=http://www.guildwars2.com';
        SELECT * 
            FROM json 
            WHERE url='http://api.tweetmeme.com/url_info.json?url=http://www.guildwars2.com';
        SELECT * 
            FROM xml 
            WHERE url='http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.guildwars2.com';
        SELECT * 
            FROM json 
            WHERE url='http://www.reddit.com/button_info.json?url=http://www.guildwars2.com'"
    

    (try this in the YQL console)

提交回复
热议问题