네이버검색API 결과값 파싱
본문
어찌어찌 검색창에 검색어 입력하면 다음 페이지에서 결과값을 xml로 받는 것 까지는 성공했는데
이걸 메뉴에 등록된 page 화면에 정리해서 뿌려주는 방법을 모르겠네요.
iframe으로 안에 링크를 넣으니까 xml데이터가 걍 확 뿌려져 버리고 include는 아예 안먹고.
네이버검색API 파싱으로 검색해도 뭐 희한한 말들 뿐이라...
참고로 페이징이고 뭐고 다 필요없습니다. 걍 제목, 내용요약, 링크 뭐 이 정도만 화면에 정리되서
뿌려주면 됩니다.
(이 정도도 못하고 있는 일인...)
답변 3
헐 ㅡㅡ;;
json으로 안주나요?
<xml>
</xml>
로 되어 있는걸 보통우리가 보는 형태로 전환 할려면
simplexml
XMLparser .. 였나?
하여간 그걸 다시 읽어서 말씀하신 대로 제목, 내용 타이틀 화 하는 작업을 해야 합니다
xml자체를 브라우저에서 그대로 뿌려주지는 않습니다.
두번째는 xss 를 만들어서 연동하면 되는걸로 알고 있는데. 이건 좀 아닌것 같습니다..
친절한 답변 정말 감사합니다.
naver api는 xml로만 데이터를 준다고 하네요.
그래서 그 데이터를 javascript나 php 뭐 기타 등등(저도 잘 모름) 다시 가공해서 화면에 뿌려줘야 되는데
그 과정을 모르겠어요.
간단한 소스라도 있으면 좋으련만...
저도 기억은 잘 못합니다. 요즘은 xml 파싱을 잘 하지 않아서...
simplexml 은 위에서 아래로 쭉 읽어 내려가서 속도는 빠르지만 가공이 좀 힘들고 , 데이터가 많을때 쓰고
xmlparser는 한꺼번에 파일을 읽어 들여서 가공은 편하지만, 데이터가 많으면 그만큼 속도가 느립니다.
그냥 일반적인 방법입니다.. 정확한 소스는 저도 기억이 안납니다...
$source = get_naver();
$xmlDoc = new XmlDoc($source);
$root = $xmlDoc->getElement('root');
$channels = $root->getElementsByName("channel");
foreach($channes as $key=>$node)
{
$title = $node->getElementsByTagName("title");
$_title = $title->nodeValue;
$_content= $node->getElementsByTagName("content")[0]->nodeValue;
$que="insert into g5_write_board set wr_subject........."; // 디비 입력
}
그냥 이런식으로 파싱해서 알아 내야 합니다. 제가 보여준 소스는 php 소스는 아닙니다.
php xml파싱으로 구글 검색해보시면 파싱하는 소스 많이 있습니다.