我正在尝试从Quora的RSS页面中抓取链接,我已经成功地做到了这一点。但是,我希望这些链接在我的应用程序中以超链接的形式出现,而不是简单地以纯文本的形式出现。
以下是目前为止的应用程序:
http://deploymentapp.appspot.com/
下面是主要的python代码:
import os
import webapp2
import jinja2
from google.appengine.ext import db
import urllib2
import re
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape=True)
class Handler(webapp2.RequestHandler):
def write(self, *a, **kw):
self.response.out.write(*a, **kw)
def render_str(self, template, **params):
t = jinja_env.get_template(template)
return t.render(params)
def render(self, template, **kw):
self.write(self.render_str(template, **kw))
class MainPage(Handler):
def get(self):
content = urllib2.urlopen('http://www.quora.com/Python-programming-language-1/rss').read()
allTitles = re.compile('<title>(.*?)</title>')
allLinks = re.compile('<link>(.*?)</link>')
list = re.findall(allTitles,content)
linklist = re.findall(allLinks,content)
self.render('frontrss.html', list = list, linklist = linklist)
app = webapp2.WSGIApplication([('/', MainPage)], debug=True)
以下是HTML源代码:
<h1>Quora Live Feed</h1><br><br><br>
{% extends "rssbase.html" %}
{% block content %}
{% for e in range(1, 19) %}
{{ (list[e]) }} <br>
{{ (linklist[e]) }}
<br><br>
{% endfor %}
{% endblock %}
因此,基本上,当从Jinja2模板中的外部源代码中抓取链接时,我不知道如何使链接显示为超链接。
发布于 2014-01-02 15:05:23
这只是基本的HTML:将链接放在a
标记的a
属性中:
<a href="{{ linklist[e] }}">{{ list[e] }}</a>
https://stackoverflow.com/questions/20885484
复制相似问题