在bash中使用新闻api并写入网页

在bash中使用新闻api并写入网页,bash,api,Bash,Api,我正在编写一个脚本,生成一个网页,我希望它显示当前的新闻。我想使用Guarders API,但我不知道如何让它工作。以下是《卫报》API的链接我现在拥有的代码是: #!/bin/bash news() { cat <<- _EOF_ _EOF_ write_page() { cat <<- _EOF_ <html> <head> </head> <body&g

我正在编写一个脚本,生成一个网页,我希望它显示当前的新闻。我想使用Guarders API,但我不知道如何让它工作。以下是《卫报》API的链接我现在拥有的代码是:

#!/bin/bash
news()
{
cat <<- _EOF_


_EOF_


write_page()
{
    cat <<- _EOF_
    <html>
        <head>
        </head>
        <body>
        $(news)
        </body>
    </html>
_EOF_
}
write_page > testNews.html
#/bin/bash
新闻()
{

cat您可以使用如下API调用获取一些当前新闻:

curl "http://content.guardianapis.com/search?from-date=2013-11-23&to-date=2013-11-24&format=xml"
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <ol>
    <xsl:for-each select="response/results/content">
    <li>
        <ul>
          <li><xsl:value-of select="@web-title"/></li>
          <li><xsl:value-of select="@web-url"/></li>
        </ul>
    </li>
    </xsl:for-each>
    </ol>
</xsl:template>

</xsl:stylesheet>
问题是您将获得XML格式的结果,而您需要HTML格式。如果安装
xsltproc
,您可以编写一个简单的转换脚本
guardian.xsl
,如下所示:

curl "http://content.guardianapis.com/search?from-date=2013-11-23&to-date=2013-11-24&format=xml"
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <ol>
    <xsl:for-each select="response/results/content">
    <li>
        <ul>
          <li><xsl:value-of select="@web-title"/></li>
          <li><xsl:value-of select="@web-url"/></li>
        </ul>
    </li>
    </xsl:for-each>
    </ol>
</xsl:template>

</xsl:stylesheet>