如何在烧瓶中解析此输出?

时间:2013-09-17 08:55:52

标签: javascript jquery python flask jinja2

enter image description here

我想解析代码的描述部分。我怎么能在jinja做到这一点?相关代码如下:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    window.onload=function (){
    $("#searcher").submit(function(ev) {

    /* stop form from submitting normally */

        ev.preventDefault();



        $.post("/searchRSS", $("#searcher").serialize(),function(o){console.log(o);document.getElementById("result").innerHTML=o;});
})};
</script>
<form id="searcher" method="post" action="#">
<input type="text" id="query" name="query" required/>
<input type="submit" value="Get Feed"/>
</form>
<div id="result">
    <table>
        {% for row in posts %}
        <tr><td>{{ row.title }}</td></tr>
        <tr><td>{{ row.date }}</td></tr>
        <tr><td>{{ row.description }}</td></tr>
        {% endfor %}
    </table>
</div>

管理searchRSS的代码如下:

@app.route('/searchRSS',methods=['POST'])

def search_results():
    feed = feedparser.parse("http://news.google.com/news?hl=en&gl=in&q="+request.form['query']+"&um=1&output=rss" )
    print feed['feed']
    posts = []
    for i in range(0,len(feed['entries'])):
        posts.append({
            'title': feed['entries'][i].title,
            'date': feed['entries'][i].updated,
            'description': feed['entries'][i].description

        })
    print  posts
    return render_template('index.html', posts=posts)

通过解析我的意思是我只想显示相关信息而不是HTML / CSS标签。

1 个答案:

答案 0 :(得分:2)

您请求的新闻项目编码为HTML。

如果您想将它们转换为纯文本,我可以考虑两种可能的选择:

  1. 删除HTML标记(请参阅this question的已接受答案以获取可能的解决方案)
  2. 使用BeatifulSoup
  3. 等工具从HTML中删除文本