1

私はブログを書いていると同時に、ウェブ開発を学んでいます。JSON についてもっと知りたいので、ブログのコンテンツ全体を JSON にエクスポートし、後で XML にエクスポートする方法を実装しようとしています。途中で多くの問題にぶつかっています。最大の問題は、JSON/XML として動的にレンダリングしたいページの URL を取得することです。私のウェブサイトのコードはここにあります。まだコメントする必要があり、多くの機能を実装する必要があります。内容を JSON にエクスポートする主なクラスは次のとおりです。

class JSONHandler(BaseHandler):
#TODO: get a way to gt the url from the request
def get(self):
    self.response.headers['Content-Type'] = 'application/json'
    url = "http://www.bigb-myapp.appspot.com/blog" 
    #url = self.request.path_url
    logging.info(url)
    page = urllib2.urlopen(url).read()
    soup = BeautifulSoup(page)
    subject_list = []
    day_list = []
    content_list = []

    subjects = soup.findAll('div', {'class' : 'subject-title'})
    days = soup.findAll('div', {'class' : 'day'})
    contents = soup.findAll('div', {'class' : 'post'})

    for subject in subjects:
        subject_list.append(subject.findAll(text = True))

    for day in days:
        day_list.append(day.findAll(text = True))

    for content in contents:
        content_list.append(content.findAll(text = True))

    i = 0

    for s, d, c in subject_list, day_list, content_list:
        json_text = json.dumps({'subject': s[i][i],'day': d[i][i], 'content': c[i][i]})
        i += 1

    self.write(json_text)

印刷機能も間違っていると思いますが、それは簡単な部分です。私が言ったように、URL を取得することは大きな困難であることがわかっています。

私は環境変数からURLを取得しようとしましたが、webapp2のリクエストハンドラーも使い物self.request.path_urlにならなくなりました。

私は Google App エンジンを使用しており、jinja2 テンプレート エンジンを使用しています。

ありがとう。

4

1 に答える 1