몇 가지 값을 표시하는 HTML 페이지가 있습니다. 또한 다른 일부 페이지의 데이터를 표시하는 작은 응용 프로그램이 있지만이 다른 페이지는 HTML이 아닌 JSON입니다. HTML 페이지에서이 값을 사용하고 JSON으로 변환 한 다음 출력하고 싶습니다.Python - HTML을 serialize하고 JSON으로 출력
내가 원하는 이유는 단순히 코드를 재사용하고 URL을 변경하거나 동적으로 만들 수 있기 때문입니다.
HTML 페이지를 최대한 일반화하여 정규식을보다 기본화하기 위해 모든 정크를 제거했습니다. 여기
는 HTML입니다 :<div class="BlockA">
<h4>BlockA</h4>
<div class="name">John Smith</div>
<div class="number">2</div>
<div class="name">Paul Peterson</div>
<div class="number">14</div>
</div>
<div class="BlockB">
<h4>BlockB</h4>
<div class="name">Steve Jones</div>
<div class="number">5</div>
</div>
두 블록은 몇 가지 요인에 따라 요소의 다양한 수있을 것이다. 그래서 기본적으로이를 통해 반복, 값을 (실제로, 소스가이 경우에 XML은) 읽고
def index(request, toGet="xyz"):
file = urllib2.urlopen("http://www.mysite.com/mypage?data="+toGet)
data = file.read()
dom = parseString(data)
rows = dom.getElementsByTagName("BlockA")[0]
readIn = ""
for row in rows:
readIn = readIn+json.dumps(
{'name': row.getAttribute("location"),
'number': row.getAttribute("number")},
sort_keys=True,
indent=4)+","
response_generator = ("["+readIn[:-1]+"]")
return HttpResponse(response_generator)
, 모든 값을 출력 :
여기 내 파이썬입니다.
누군가가 올바른 방향으로 나를 가리킬 수 있으면 크게 감사하겠습니다. 예를 들어, "BlockA"와 같은 태그를 읽은 다음 "name"및 "number"태그를 읽습니다.
감사합니다.
실제로 2 개의 "보기"는 내 views.py에 정의되어 있으며 2 개의 XML 파일 (1 개의 로컬, 1 개의 원격)에서 데이터를 가져옵니다. 이것은 나의 제 3의 전망 일 것이다. 예를 들어, mysite.com/view1/21, mysite.com/view2/12 및 myste.com/view3/{string}이 있습니다. "문자열"뷰는이 태그이므로 이미 REST를 사용하고 있습니다. HTML을 출력하기 만하면 JSON 판독기에서 구문 분석 할 수 있습니다. 이 "아름다운 스프"가 무엇입니까? 나는 이전에 그것에 대해 들어 봤지만 어떤 예를 보았지만 사용하지는 못했습니다. – eoinzy
아름다운 스프는 HTML 또는 XML 구조를 구문 분석하기위한 것입니다. 전략에 따라 조작되지 않은 HTML (비 닫는 블록)도 처리합니다. 그러나 그렇습니다, 저쪽에보기를주십시오. –