在bash中使用新闻api并写入网页
我正在编写一个脚本,生成一个网页,我希望它显示当前的新闻。我想使用Guarders API,但我不知道如何让它工作。以下是《卫报》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
#!/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>