블로그 이미지
포도알77
IT 방랑기

calendar

      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  

Notice

2019.04.14 19:38 프로그래밍/Java

1. 그래프 데이터 베이스 neo4j

 요즘 너무 다양한 데이터 베이스가 많다. 가장 많이 들어봤을 법한 데이터베이스는 mySQL일 것이다. neo4j와 달리 mySQL은 관계형 데이터 베이스이다. neo4j는 그래프형태로 소셜 네트워크와 같이 그래프 (노드와 링크)를 표현하는데 매우 효율적이다.

 만약 관계형 데이터 베이스를 이용하여, 그래프를 표현하려면 계속해서 join을 실행해야 하는데, 관계형 데이터 베이스를 사용해본 사람이라면 얼마나 비효율적인지 알 수 있을 것이다.

 비록 간단한 프로그램이지만, neo4j를 사용한다는 생각으로 간단하게 설치와 java 연동을 해보자.

2. neo4j 설치 방법

neo4j의 사이트는 아래의 링크와 같다.

https://neo4j.com/

 

 

 다운로드 위치는 처음 홈페이지를 들어가서 보이는 download를 선택해도 좋고,  다운로드 바로가기를 선택하여 이동하여도 좋다.

여기서 개인용 neo4j와 기업용 neo4j로 나뉘는데, 개인용 (community)를 선택하자.

NEO4J - 서버 x64 WIN

 다운 받은 neo4j 인스톨러는 서버 프로그램으로, 각 데이터 베이스의 admin 페이지와 같다고 생각하자. 여기서 쿼리를 실행할 수도 있고, 데이터도 볼 수 있다. 다만!! 서버 프로그램과 자바에서 동시에 db 접근할 수 없는것은 함정이다. (썩었다.)

 다음으로는, Java에서 사용할 라이브러리 (기존 JDBC와 같은 드라이버라고 생각하면 된다.)를 다운 받아야 한다. 하지만, 나는 어디서 받는지 모르겠다. 그냥 여기서 다운받자. 속도도 더 빠를 것이다.

NEO4J - JAVA DRIVER

3. Java eclipse와 연동 방법

다운받은 neo4j 자바 드라이버 파일 압축을 풀고 이클립스에서 라이브러리를 추가하자.

 

posted by 궁금한 포도알77
2019.03.02 08:51 프로그래밍/Java

1. 들어가면서

가끔 자동으로 웹을 긁어야 할 때가 있다. 우분투에서도 Python을 이용한 Scrapy를 사용할 수 있지만, 다른 SSD에 우분투가 깔려있어 재부팅을 해야한다. 그래서 조금 귀찮았는데, 자바를 이용한 Jsoup을 사용할 수 있다고 해서, 바로 깔아서 테스트해보았다.      

2. Jsoup 다운로드

  Jsoup을 자바에서 실행시키려면 라이브러리를 받아야 한다.   라이브러리 다운로드 링크는 아래와 같다.  
https://jsoup.org/download
  아래의 그림처럼 세개를 다운받아 특정 폴더에 저장하자.  
 




       

3. 프로젝트에 Jsoup 라이브러리 링크

이제 자바 프로젝트를 만들고 Jsoup 라이브러리를 링크하자. 자바를 안써본지 약 3년정도가 되어서, 라이브러리를 어떻게 넣는지 검색했다.         일단 프로젝트를 만들고, 프로젝트우클릭해서 Property로 이동하자.
     
    그리고 Java Build Path 탭에서 Libraries를 클릭한다음 Add External JARs를 클릭하자   




방금 다운로드 받은 Jsoup JAR 파일을 포함시켜 주자.

그런 다음 ApplyOK를 눌러 주면 라이브러리 링크가 완료된다.


4. 예제 코드

  Jsoup이 정상적으로 작동하는지 아래의 코드를 실행해보자. 클래스명과 패키지는 당연히 프로젝트를 만들때 사용했던 명칭을 이용해야 한다.  
package scrapy;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
public class Crawl{
	public static void main(String[] args) throws Exception{
		String URL = "https://fatc.club/2017/02/28/60";
		Document doc = Jsoup.connect(URL).get();
		Elements elem = doc.select("section");
		String str = elem.text();
		System.out.println(str);
	}
}
  결과가 아래와 같이 나타나면 정상적으로 동작하는 것이다.

 데이터 수집을 위한 크롤링 연속 포스팅  [크롤링] 데이터 수집을 위한 크롤링 1편 : 크롤링이란 무엇인가? [크롤링] 데이터 수집을 위한 크롤링 2편 : 크롤링에 필요한 필수 요소들 [크롤링] 데이터 수집을 위한 크롤링 3편 : JSON, 더 자세한 설명 [크롤링] 데이터 수집을 위한 크롤링 4편 : Java의 설치와 간단한 Jsoup 예제 [크롤링] 데이터 수집을 위한 크롤링 5편 : Yahoo 파이낸스를 이용한 환율 크롤링


posted by 궁금한 포도알77
prev 1 next