본문 바로가기
카테고리 없음

트위터 api를 이용한 자바 크롤링

by 처리2 2020. 9. 28.
반응형

 

lib.zip
0.64MB

먼저 library 다운로드 받아서 폴더에 지정해주고

트위터 api 개발자에 들어가서 key 발급 후에

	public void TwitterAPIConn() {
		cb.setDebugEnabled(true)
		    .setOAuthConsumerKey("자신의 key")
		    .setOAuthConsumerSecret("자신의 key")
		    .setOAuthAccessToken("자신의 key")
		    .setOAuthAccessTokenSecret("자신의 key");
	}

추가해주세여

public TwitterCrawling(ComponentService Component) {
		try {
			TwitterAPIConn();
			Twitter twitter = new TwitterFactory(cb.build()).getInstance();;
			
			String userName = "수집하고자 하는 페이지 아이디";
			
			boolean checking = false;
			
			for(int i=1;i<2;i++) {
				ArrayList<crawlingDTO> Tlist = new ArrayList<>();
				Paging page = new Paging (i, 100);//page number, number per page
				ResponseList<Status> Statuses = twitter.getUserTimeline(userName, page);
				
				for(Status s : Statuses) {
					crawlingDTO c = new crawlingDTO();
					
					//시간 설정
					 SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
					 SimpleDateFormat tranSimpleFormat = new SimpleDateFormat("yyyy.MM.dd", Locale.ENGLISH);
					 Date date = format.parse(s.getCreatedAt().toString());
					 String dates = tranSimpleFormat.format(date);
					
					c.setTitle("twitter");
					c.setContents(s.getText());
					System.out.println(s.getText());
					c.setLink("https://twitter.com/greenjeonnam/status/"+s.getId());
					c.setDate(dates);
					c.setType("twitter");
					System.out.println(s.getSource());

					Tlist.add(c);
				}
				other.InsertDB(Tlist, Component);
				if(checking) {break;}
			}
		}catch(Exception e) {
			System.out.println("twitter에러 :" + e);
		}
	}

참 쉽죠?

반응형

댓글