몽고 DB와 연결하기 위해 ODBC, JDBC같은 library가 필요하다. 다운 받아야 하는 것은 mongo-java-driver
https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/3.7.0/ 에 접속해서
mongo-java-driver-3.7.0.jar 다운
이클립스 상의 java project에서 properties 들어가고 java build path -> library탭 클릭 -> external jars 선택하고 다운 받은 .jar 파일 선택하고 적용
몽고 DB 연동해서 지난 번에 한 웹 크롤링 결과를 저장한다.
package crawler;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bson.Document;
import org.jsoup.Jsoup;
import org.jsoup.select.Elements;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.IndexOptions;
public class mongocon {
public static void lgnLog() {
Logger mongoLogger = Logger.getLogger("org.mongodb.driver");
mongoLogger.setLevel(Level.SEVERE);
}
public static void main(String[] args)throws IOException {
lgnLog();
MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));
MongoDatabase database = mongoClient.getDatabase("Sample"); //use 또는 create함
MongoCollection<Document> collection = database.getCollection("samples");
String url="https://www.zillow.com/homes/for_sale/Denver-CO/pmf,pf_pt/118576962_zpid/11093_rid/globalrelevanceex_sort/39.976331,-104.6101,39.554089,-105.104485_rect/10_zm/";
org.jsoup.nodes.Document document = Jsoup.connect(url).get();//url 해석하기
Elements price = document.getElementsByClass("zsg-photo-card-price");
Elements addr = document.getElementsByClass("zsg-photo-card-address");
List<Document> documents = new ArrayList<Document>();
for(int i = 1; i <= price.size(); i++) { //부모 클래스 안에 있는 address, price 클래스 출력
Document indx = new Document("i",i); //인덱스를 만들기
collection.createIndex(indx, new IndexOptions().unique(true)); //유일한 인덱스, primary key
documents.add(indx.append("price",price.get(i-1).text()).append("address",addr.get(i-1).text()));
}
collection.insertMany(documents);
//collection.drop();
}
}
'Java' 카테고리의 다른 글
자바 jdk 설치 및 환경 변수 설정 (0) | 2018.06.21 |
---|---|
이클립스(eclipse)에서 웹 크롤링 (0) | 2018.05.15 |