우선 아래 링크의 scraper 작성 시 TODO로 남겨 놓았던 항목들을 작성함. https://ompanggin.tistory.com/28

 

Kodi: Daum Movie Scraper Add-on 작동법

1. 잘 사용하던 Daum Movie Scraper 가 Daum이 서비스를 변경하면서 작동이 되지 않음. 2. 다른 부분(detail.json, cast_crew.json, list.json)은 여전히 사용이 가능한데 search api (movie.json)가 작동을 안함...

ompanggin.tistory.com

 

[ ver 0.2 ] CreateSearchUrl : 한글, 숫자 제목만 뽑아서 search keywords로

- 파일명이 “한글 제목.2019.english.title”로 되어 있을때 “한글 제목 2019” 로 검색하도록  함

- Procedure 

  • 파일명 : “한글 제목.2019.english.title.FHDRip.H264.AAC-NonDRM.mp4” 이면 
  • kodi : “한글 제목 2019 english title” 정도로 정리해서 리턴함.
    : https://kodi.wiki/view/Advancedsettings.xml#cleanstrings 여기서 설정 가능함.
  • scrapper : 파일명을 받으면 정규식으로 앞에 나오는 언어의 제목만 뽑아줌.
    : 이때 urlencoding하여 보내주므로 이에 맞게 정규식 적용함. (utf-8인 경우 %e.(?:%\w\w){2} 가 한글)
    : 예, 파일명이 "한글제목.english.title" 라면 kodi는 urlencode 하여 %ed%95%9c%ea%b8%80%ec%a0%9c%eb%aa%a9.english.title) 리턴
    : python 정규식을 따르고 ((?=.*%e.(?:%\w\w){2})(?:%e.(?:%\w\w){2}|\d|[._\-() ]|%20|%5b|%5d)*(?:%e.(?:%\w\w){2})|(?:\w|[._\-() ]|%20|%5b|%5d)*\w) 적용하면
    : “한글제목”만 <CreateSearchUrl> 에 검색어로 추가(english.title.한글제목 의 경우 “english.title”이 선택)
  • 잘 검색이 안될 때는 “한글제목2019” 로 개봉 연도를 붙여서 검색하면 잘됨.

   

[ver 0.3] daum search를 movie 한정, movie 페이지 검색의 suggest 활용

- 다음 movie의 suggest search를 활용하여 영화 한정하여 검색하게 함.
   : 제목을 자세히 썼는데 틀리면 검색안됨. 간단히 써서 리스트에서 선택함.
   : 디렉토리 검색할때는 첫번째 리스트 된 것만 적용하여 오류가 많음.
   : 디렉토리는 search 잘 안찾아지는 페이지는 suggest 로 함.

- Procedure

  • search page 변경 : 기존 http://search.daum.net/search?w=tot&amp;q=\1
    변경 https://suggest-bar.daum.net/suggest?id=movie&amp;cate=movie&amp;multiple=1&amp;mod=json&amp;code=utf_in_out&amp;q=\1
  • 검색어는 ver 0.2에서 앞에 나오는 언어로 선택됨. suggest 검색은 연도가 들어갈 경우 잘 검색이 안되어 연도제외.
  • kodi 리턴하는 json은 …  "movie" : [ “제목|movieID|poster url|개봉연도|검색일치율(?)”, “…" ] 로 되어 있음.
  • 정규식은  json 의 “movie” … 부분을 따다가 제목, movieID, 개봉연도를 parsing 함.
    <RegExp input="$$6" output="<entity><title>\1</title><year>\4</year><id>\2</id><url cache="daum-movie-\2.json">http://movie.daum.net/data/movie/movie_info/detail.json?movieId=\2</url></entity>" dest="5">
        <RegExp input="$$1" output="\1" dest=“6">
              <expression>.*"movie".*?:.*?\[(.*?)\]</expression>
        </RegExp>
        <expression repeat="yes" clean="1">"(.*?)\|(\d+)\|(.*?)\|(\d+)\|.*?"</expression>
    </RegExp>

 

[ ver 0.4 ] suggest page search 를 옵션화 + zip 파일 생성

- Procedure

  • addon.xml : bug fix <description lang=“kr”> -> <description lang=“ko”>
    current version에 대한 간단한 설명
  • resource/settings.xml : Search Suggest 추가
    <setting label="30008" type="bool" id="SearchSuggest" default="false"/>
  • resource/language/Korean/strings.xml : 항목 이름 추가
    <string id="30008">Daum Suggest 사용</string>
  • <RegExp 에 conditional 추가. 이외의 영역에 추가하면 작동안함.
    <RegExp conditional=“!SearchSuggest" …. search page 검색 …
    <RegExp conditional=“SearchSuggest"  …. suggest page 검색 …

- zip 파일로 설치시 addon 설치 에러나면 재부팅하면 정상 설치됨 . (OSX에서 압축한 것도 정상설치)

 

[TODO] Daum TV Scrapper

- 기존 소스의 살아있는 link 가 없고 처리해야할 항목도 많아서 시간이 좀 걸리지만... 

(혼란을 막기 위해 최신 version 만 남기고  지난 version은 삭제함.)

Posted by 옴팡진
,