inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

R로 하는 웹 크롤링 - 실전편

토큰을 제출해야 하는 사이트 크롤링

513

Steady

작성한 질문수 4

0

안녕하세요,

영화관 통계 사이트 데이터를 rvest로 받아오고자 하는데 사이트를 분해해보니 'CSRFToken'이란 난수를 요청하는 것 같은데요, 아래와 같이 먼저 받아오고 POST를 사용하면 420 에러가 뜹니다.

혹시 POST를 날릴때 토큰도 같이 받아서 날릴 수 있는 방법이 있나요?

아래는 제가 작성해서 테스트해봤으나 동작하지 않는 코드입니다.

#토큰 가져오기

target_url<-"https://www.kobis.or.kr/kobis/business/main/main.do"

Token<-target_url %>% read_html() %>% html_nodes(xpath = '//*[@id="wrap"]/input') %>% html_attr('value')

#월별 관객 추이

target_url<-"https://www.kobis.or.kr/kobis/business/stat/them/findMonthlyTotalList.do"

ref<-"https://www.kobis.or.kr/kobis/business/stat/them/findMonthlyTotalList.do"

tmp<-POST(url = target_url,httr::add_headers(Referer = ref), query=list(

  CSRFToken = Token,

  loadVal = 0,

  searchType = "search",

  selectYear = 2021

)

)

R 웹-크롤링

답변 1

0

코코

안녕하세요. Steady님

문의 해주신 내용에 대해서도 저도 알기는 쉽지 않은 것 같습니다. 큰 도움이 되지 못해서 죄송합니다.

다만, 올려주신 코드를 통해서 아래와 같이 readLines를 하면 원하시는 정보를 수집할 수 있습니다.

url<-tmp$request$url

b<-readLines(url,encoding='utf-8')

보배드림 content 관련 규칙 변경

0

404

0

readLines부터 에러가 뜨는데 어떻게 해야할까요 ㅜㅜ

0

321

0

에러 코드

0

402

2

최종 코드 입니다.

0

272

0

객체 'k'를 찾을 수 없습니다

0

375

1

소스코드

0

280

1

Referer

0

314

1

보베드림 강의 오류관련 질문입니다.

0

454

1

원하는 지역의 카페(맛집) 리스트 크롤링 for문 질문

0

327

1

원하는 지역의 카페(맛집) 리스트 크롤링 10:09분경 질문

0

387

1

셀레늄 사용시 W3C 에러 문제

0

272

1

수업관련 문의

0

343

3

오류무시 code 관련

0

262

1

위도 경도 가져오기

0

370

1

encoding 해결 방법

0

307

1

대량의 뉴스데이터를 보고싶다면 어떻게 해야하나요?

0

338

1

자바스크립트 및 iframe으로 구성되어 있는 웹페이지 크롤링 문의

0

453

1

어떤 문제로 인해 na 가 발생하는걸까요? 블로그 크롤링 부분입니다.

0

364

2

이미지 크롤링 개수를 80개 이상으로 하는 방법도 있을지요?

0

337

2

혹시 셀레니움을 스레드로 이용 할 수 있을까요?

0

549

1

네이버는 셀레니움을 통해 로그인할 경우 캡챠가 무조건 떠서 불가능하네요

1

692

5

셀레니움을 사용하지 않고 로그인을 하는 방법은 없나요?

0

252

2

웹 크롤링 방법

0

199

1

readlines. htmltab, readhtmltable 구별해 사용하는 방법?

0

281

2