대상: 속초중앙시장공용주차장 전기차충전소 | 카카오맵
해당 url로 부터 Jsoup 파싱을 하고싶었지만
직접 파싱할 경우 meta, js 부분만 파싱되고 본문은 파싱되지 않는것을 확인했습니다.
Connection.Response response= Jsoup.connect(URL)
.ignoreContentType(true)
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36")
.referrer("http://www.google.com")
.timeout(12000)
.maxBodySize(0)
.followRedirects(true)
.execute();
시도한 코드는 위와 같습니다.
본문 내용까지 파싱하고 싶은 경우 어떻게 파싱하면 될까요?
안녕하세요.
본문 내용이라고 말씀주신 건 충전소 정보를 (운영시간, 실시간 충전 현황) 말씀주시는 걸까요?
네 그렇습니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<title>성환충전소 | 카카오맵</title>
<meta property="og:title" content="성환충전소">
<meta property="og:site_name" content="카카오맵">
<meta property="og:description" content="충남 천안시 서북구 성환읍 천안대로 1835 (성환읍 매주리 45)">
<meta property="og:type" content="website">
<meta property="og:image"
content="http://map3.daum.net/staticmap/og?type=place&srs=wcongnamul&size=400x200&m=530216%2C945458&service=placeweb">
<meta property="og:url" content="https://place.map.kakao.com/9122692">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="성환충전소">
<meta name="twitter:description" content="충남 천안시 서북구 성환읍 천안대로 1835 (성환읍 매주리 45)">
<meta name="twitter:image"
content="http://map3.daum.net/staticmap/og?type=place&srs=wcongnamul&size=400x200&m=530216%2C945458&service=placeweb">
<link href="//t1.daumcdn.net/localimg/localimages/07/common/kakaomap_favicon.ico" rel="shortcut icon">
<link rel="stylesheet" type="text/css" href="//t1.daumcdn.net/kakaomapweb/place/jscss/pc.832125a4.css" />
</head>
<body>
<div id="kakaoIndex">
<a href="#kakaoBody">본문 바로가기</a>
<a href="#kakaoGnb">메뉴 바로가기</a>
</div>
<div id="kakaoWrap" class="wrap_mapdetail">
<!-- 스크롤이 내려 왔을 때 클래스 lbar_on -->
<div id="wrapMinidaum"></div>
</div>
<div id="daumWrap" style="display:none;">
<div id="daumContent">
<div id="shareContainer"></div>
</div>
</div>
<script type="text/javascript" src="//ssl.daumcdn.net/dmaps/map_js_init/v3.js"></script>
<script type="text/javascript" src="//t1.daumcdn.net/tiara/js/v1/tiara.min.js"></script>
<script type="text/javascript" src="//t1.daumcdn.net/daumtop_deco/socialshare/socialshare_pc-2.4.3.js"></script>
<script>
window.ENV = 'PROD';
window.browserversion = 'none0';
// 티아라 초기화
try {
TiaraTracker.getInstance().init({
svcDomain: 'place.map.kakao.com',
deployment: window.ENV === 'PROD' ? 'production' : 'dev'
});
} catch(e) {}
window.placeRestrictType = 'NONE'
window._cp = '';
</script>
<script type="text/javascript" src="//s1.daumcdn.net/svc/attach/U0301/cssjs/mm/1482483925476/Chart.min.js"></script>
<script type="text/javascript" src="//t1.daumcdn.net/kakaomapweb/place/jscss/pc.cade37dd.js"></script>
<!--
<script>
var minidaum_options = {
disableTracker: true, // 미니다음에서 tiara 사용안함
bgType: "white",
enableLogoutRetun: true,
returnUrl: '',
disableHotissue: true,
disableLogo:true,
enableShield: false
};
</script>
<script async src="//go.daum.net/jsa_minidaum_pc.daum" charset="utf-8" type="text/javascript"></script>
-->
</body>
</html>
postMan 으로 받은 결과입니다.
보시는 바와 같이 본문링크와 다르게 내용이 없는것을 볼 수 있습니다.
직접적으로 get 메소드는 않될것 같아 파싱을 시도했습니다만 결과가 똑같이 나옵니다.
말씀주신 충전소 정보는 저희도 외부 CP로부터 제공 받아 활용하는 정보로 API에는 해당 정보가 포함되지 않는 점 참고 부탁드립니다. 감사합니다.