使用javascript和yql从网页获取图像和文本

时间:2011-02-21 03:15:01

标签: javascript yql

尝试学习如何使用yql execute解析页面。我想分别返回文本和图像。我还想改变所有图像的宽度。试图为此编写javascript但它无法正常工作。有人能指出我正确的方向吗?

       <execute><![CDATA[
    var q = y.query('select * from html where url=@url and xpath=@xpath',{url:url,xpath:xpath});
            var myresults = q.results;
            var images = myresults.getElementsByTagName('img');
            images.setAttribute('width','150');
            text = myresults.getElementById("p").textContent;
            response.object = <text>{text}</text> <images>{images}</images>;
        ]]>
        </execute>

1 个答案:

答案 0 :(得分:1)

实际上,只需使用内置于YQL中的 html 表,您就可以执行与您想要的非常相似的操作。这是一个我从这个article中选择img和p元素的例子。

我在一个Xpath中使用两个不同的XPath表达式:

//div[@id='left_col']//img
//div[@id='left_col']//p

完整查询:

SELECT * FROM html WHERE url="http://www.computerworld.com/s/article/9209140/Sentiment_analysis_comes_of_age" AND xpath="//div[@id='left_col']//img|//div[@id='left_col']//p"

尝试一下。