나는 블로그에서 동시에 웹 개발을 배우고있다. JSON에 대해 더 자세히 배우고 싶습니다. 따라서 블로그의 전체 내용을 JSON 및 이후 XML로 내보내는 방법을 구현하려고합니다. 나는 많은 문제를 겪고 있는데, 가장 큰 것은 JSON/XML로 동적으로 렌더링하려는 페이지의 URL을 얻는 것입니다. 내 웹 사이트의 코드는 here입니다. 나는 더 많은 것을 논평 할 필요가 있으며 많은 기능을 구현해야한다.블로그의 내용을 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)
나는 또한 인쇄 기능이 잘못된 것을 확신하지만 그건 쉬운 부분입니다 다음과 같이 JSON에 내용을 수출 할 책임이 메인 클래스입니다. 나는 URL을 얻는 것이 큰 어려움을 겪고 있다고 말했다.
url 양식을 환경 변수로 가져 오려고 시도했으며 webapp2의 요청 처리기 (예 : self.request.path_url
)를 사용하지 않아도됩니다.
Google App Engine에서 jinja2 템플릿 엔진을 사용하고 있습니다.
감사합니다.
"JSON/XML로 동적으로 렌더링하려는 페이지의 URL을 얻는 가장 큰 방법"은 무엇을 의미합니까? – lpapp
@LaszloPapp 방금 더 자세히 질문을 편집했습니다. 그리고 내가 원하는 것은 URL을 하드 코딩하고 싶지 않고 대신 요청에서 가져 오기를 원합니다. 그러나 그것은 어렵다는 것을 입증하고 있습니다. 메인 페이지와 퍼머 링크 페이지 모두에 대해 비슷한 템플릿이 있으므로이 클래스를 사용하여 해당 페이지를 JSON으로 내보낼 수 있기를 바랍니다. – Bhargav