반응형
님들 트위터 크롤링해본적 있나요?
전 있어요 근데 존나 안돼요 왜냐구요? 그러니깐여.. 우리는 맨날 드라이버를 이용해서 태그찾고 내용 가져오잖아요?
근데 트위터는 api가 매우 잘 되어있기 때문에 우리가 굳이 그렇게 고생 안해도 됩니다 ㅎㅎㅎㅎ
자 소스 들어갑니다. 잘보세요
아아아아 그전에 라이브러리 부터 선언해줘야하는데 gradle이런거 찾아봐도 ㅈㄴ 없더라고요
이거 다운 받으시고 lib파일 안에 그냥 때려박으세염 물론 압축은 해제하고 jar파일 말하는거는 다들 아시겟죠?
ㅎㅎㅎㅎ
자 그럼 이제 소스 보세염
public TwitterCrawling() {
ArrayList<crawlingDTO> Tlist = new ArrayList<>();
try {
TwitterAPIConn();
Twitter twitter = new TwitterFactory(cb.build()).getInstance();;
String userName = "@~~~"; //@를 포함한 부분 넣어주세여
for(int i=1;i<100;i++) {
Tlist = new ArrayList<>();
Paging page = new Paging (i, 100);//1페이지당 가져오는 게시물 수
ResponseList<Status> Statuses = twitter.getUserTimeline(userName, page);
if(Statuses.size() == 0) {break;}
for(Status s : Statuses) {
//시간 설정
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);
String content = s.getText();
content = Normalizer.normalize(content, Normalizer.Form.NFC); //글자 깨지는 현상 복구
String link = "https://twitter.com/greenjeonnam/status/"+s.getId()
}
}catch(Exception e) {
System.out.println("twitter에러 아니면 종료 :" + e);
}
}
public void TwitterAPIConn() {
cb.setDebugEnabled(true)
.setOAuthConsumerKey("자신의 key")
.setOAuthConsumerSecret("자신의 key")
.setOAuthAccessToken("자신의 key")
.setOAuthAccessTokenSecret("자신의 key");
}
이건데 트위터 개발자 로그인 하셔서 key 발급받는거는 쉬우니께 그거는 주석처리 하겠습니다?
ㅋㅋㅋㅋㅋㅋ
이렇게 하면 쉽게 데이터 출력 가능합니다~
반응형
'빅데이터 > 크롤링' 카테고리의 다른 글
파이썬 크롤링 예시 소스 (0) | 2021.02.02 |
---|---|
자바 유튜브 API 이용하여 데이터 가져오기( 유튜브 크롤링) (0) | 2020.12.23 |
서버에 Chrome 남아있는지 확인하고 일괄 삭제 (0) | 2020.12.22 |
자바 크롤링 Headless 적용 최신판!!!!(인스타 정책 변경) (0) | 2020.12.22 |
자바 셀레니움 크롤링할때 전체 텍스트가 안가져와질때 (1) | 2020.09.17 |
댓글