• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

클리앙 크롤링-1 질문

20.07.25 16:40 작성 조회수 122

0

게시글의 제목을 불러오는 부분에서 막혔는데요.

현재, 아래와 같이 subject_fixed 로 데이터를 불러오면 아래와같이 나오게됩니다.

---------------------------------------------------------------------------------------------------------

> b2<-b[str_detect(b,"subject_fixed")]

> b2

 [1] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"바퀴달린 음악중심\">"                                      

 [2] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"간만에 음중 처음부터 보는데...노래들이..가수들이...;;;;\">"

 [3] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"현금가 좀 싫네요ㅠㅠ\">"                                   

 [4] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"설문조사 업체가 20분간격으로 전화하네요.\">"               

 [5] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"오랜만에 음악중심 보네요\">"                               

 [6] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"지금 음중 나오는 노래...\">"                               

 [7] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"우유 드시면 소화 잘되시나요??\">"                          

 [8] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"정신나가기 시작한 강원도 토지 값\">"                       

 [9] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"휴대폰 전면 카메라 자주 쓰시나요??\">"                     

[10] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"아니 제이블랙 형님 앨범냈어요?!\">"                        

---------------------------------------------------------------------------------------------------------

따라서 수업에서 진행한 아래와 다른 시작과 끝을 지정해줘야할 것 같아서

아래와 같이 짰는데 안돌아가네요... 뭐가 문제인걸까요 ㅠㅠ

> title<-str_extract(b2,("(?<=\title=\").*(?=">""))

Error in UseMethod("type") : 

  no applicable method for 'type' applied to an object of class "logical"

답변 1

답변을 작성해보세요.

0

안녕하세요 . 백영은 님

모든 프로그래밍 언어가 마찬가지 이지만, 프로그래밍 언어 내에서 " > /  [ ] ) 와 같은 문자는 기본적으로 문자가 아니라 특수한 기능을 가지고 있습니다. 예를들어 R에서 [ ] 는 요소 index(강의에서는 방이라는 표현을 사용했습니다) 에 접근하는데에 쓰이죠

그리서 저 예제를 보면

[10] "\t\t\t\t\t\t<span class=\"subject_fixed\" data-role=\"list-title-text\" title=\"아니 제이블랙 형님 앨범냈어요?!\">"     

맨 뒤에 ">" 문자가 있는데 이를 그냥 R에서 사용하게 되면 특수 기능을 가지는 문자로 인식을 하게 됩니다.

그래서 최대한 이러한 문자를 피해서 작업해주시는게 좋습니다.

아래와 같은 코드를 이용해보시면 어떨까 싶습니다.

str_sub(str_extract(b2,"(?<=title=).*(?=>)"),2,end=-2)