이 포스트에서는 로그인이 필요한 사이트와 Request Header를 검사하는 사이트를 파싱하는 과정을 적어둔다. 0. 웹 사이트 로그인 먼저 웹 사이트에 로그인에 대해 다시 생각해 볼 필요가 있다. 최근 웹 사이트에서 사용되는 로그인 방법은 크게 두 가지로 볼 수 있다. 첫 번째는 세션을 이용한 방법이고, 두 번째는 Restful API에 주로 사용되는 토큰 인증이다. 발급 받은 토큰을 이용하는 방법은 이전 포스트에서 원하는 값을 Jsoup의 Document를 파싱해 얻어낸 것처럼, 간단하게 얻어낼 수 있다. 물론 토큰이 HTML요소가 아니라 Script 요소로 있는 경우도 많지만 정규식이나 replace, split 같은 메소드를 이용하면 별 어려움이 없다. 다시 첫 번째 세션 로그인으로 돌아가면, ..
Jsoup는 아주 강력하고 재미있는 라이브러리다. 단순한 HTML 문서 파싱을 넘어 웹 사이트에 대한 Request, Response를 모두 처리할 수 있다. 덕분에 일부 특별한 경우(플래시, 애플릿, ActiveX같은 비표준이나 WebSocket)가 아니라면 브라우저로 사이트를 이용하는 상황을 그대로 재현해낼 수 있다. 다시 말해, 대부분의 사이트의 원하는 정보만 뽑아내는 '뷰어'를 만들 수 있다는 것이다. 몇 가지 간단한 예제를 통해 사이트에서 원하는 정보만 뽑아내는 과정을 적어보려 한다. 0. Gradle 디펜전시 추가 compile group: 'org.jsoup', name: 'jsoup', version: '1.10.2' Maven Repository를 통해 간단하게 디펜전시를 추가 할 수 있..
네이버 지도에서 검색했을때 나오는 정보 (예: 이름,전화번호,주소 등) 를 스크래핑 하는 프로그램을 자바로 만들어봤다. 검색 후 나오는 정보를 일일히 사람손으로 복사 붙여넣기 혹은 직접 타이핑할 수도 있으나 너무 힘들것이다... 그래서 자동으로 필요정보만 깔끔하게 추출하는 프로그램이다. 마케팅등 여러분야에 활용될 수 있으리라 생각한다. https://youtu.be/lRQCpdbHgpg 현재 10초안에 등록된 업체 추출 개발을 진행중이다.
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; public class ScheduleExecTest { public static void main(String[] args) { // TODO Auto-generated method stub // 실행간격 지정(3초) int sleepSec = 3 ; // 시간 출력 포맷 final SimpleDateFormat fmt = new SimpleDateFormat("HH:mm:ss"); // 주기적인 작업을 위한 final Sch..
자바로 메모장을 실행시킬려면 Runtime.getRuntime().exec("notepad"); 라고 하면 된다. 또한 특정 파일을 열고 싶으면 Desktop.getDesktop().edit(new File("c:/joongna/price.log")); 그러나 특정 파일을 메모장으로 열고 싶을 때는 PC환경이 확장자 txt는 메모장으로 열게 되어 있어야 메모장이 실행되면서 해당 파일이 열린다. 만약 확장자가 특정 프로그램에 연결되어 있지 않으면.. java.io.IOException: Failed to edit . Error message: 이 작업을 하기 위해 지정된 파일로 아무 응용 프로그램도 연결되어 있지 않습니다. 라고 나온다. 또한 파일이 없으면 Exception in thread "main" ..
php 에서는 스누피 클래스를 사용하면 URL 경로상의 이미지 다운이 가능 했었다. 그러나 자바에서는 해보지 않아서 몰랐는데 인터넷 서핑 하다가 도움이 되는 글이 있는거 같아서 갈무리 해왔다. =========================================== 소스코드는 인터넷에 도는 자료를 긁어다가 입맛에 맛게 약간 양념을 쳤다(수정을 가미)문제는 코덱의 문제로 인해 JAI라는 라이브러리를 사용할 수 없었기 때문에(1.5까지 지원되고 deprecated가 아닌 걍 삭제)- 대충 읽어보니 라이센스 문제인데.. 아마 소스라이센스같은 저작권 문제로 폐기한듯하다. 스택오버플로닷컴에 올라온 몇개의 소스는 되지가 않는다.그러던중에 twelveMonkeys라는 라이브러리를 이용하여 하면 된다는 이야기가 ..
- Total
- Today
- Yesterday
- xe addon
- 파싱
- 자바 smtp
- esql
- C
- XE
- XE3
- 문자열
- proc
- 인포믹스
- 이클립스
- webix
- 파이썬
- JDBC
- EC
- ocajp
- xe애드온
- KG
- Python
- ocpjp
- ocjap
- 프로씨
- 포인터
- 오라클
- 스크래핑
- php
- 자바
- 자바 셀레니움
- C언어
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |