Bit.ly의 XML 응답 구문 분석
문제
나는 짧아서 일하기 위해 조금을 시도하고 있었다.XML 문서가 내 스크립트로 돌아갑니다.나는 태그를 추출하고 싶지만 캔트가 제대로 구문 분석하는 것처럼 보입니다.
askfor = urllib2.Request(full_url)
response = urllib2.urlopen(askfor)
the_page = response.read()
.
그래서 The_Page에는 XML 문서가 들어 있습니다.나는 시도했다 :
from xml.dom.minidom import parse
doc = parse(the_page)
.
이렇게하면 오류가 발생합니다.내가 뭘 잘못하고 있니?
해결책
오류 메시지가 없으므로 유일한 오류입니다.그러나 xml.minidom.parse
는 문자열을 가져 가지 않습니다.parse
용 Docstring에서 다음을 수행하십시오.
파일 이름이나 파일 객체에 의해 파일을 DOM에 구문 분석합니다.
시도해야합니다 :
response = urllib2.urlopen(askfor)
doc = parse(response)
.
response
가 파일 객체처럼 작동합니다.또는 parseString
대신 minidom
메소드를 사용할 수 있습니다 (그런 다음 the_page
를 인수로 전달하십시오).
편집 : URL을 추출하려면 다음을 수행해야합니다.
url_nodes = doc.getElementsByTagName('url')
url = url_nodes[0]
print url.childNodes[0].data
.
getElementsByTagName
의 결과는 모든 노드 일치 목록입니다 (이 경우 하나만).url
는 필요한 데이터가 포함 된 하위 텍스트 노드가 들어있는 자식 텍스트 노드를 포함하는 주목할만한 요소입니다.
다른 팁
from xml.dom.minidom import parseString
doc = parseString(the_page)
.
제휴하지 않습니다 StackOverflow