Reader view를 제공하는 extension
Chrome extension
https://chrome.google.com/webstore/detail/reader-view/fachffmaagpajehggpkaigkacdjhkkdn/related?hl=ko
크롬 익스텐션으로 다음과 같은 리더뷰를 제공하는 앱이 존재하는 것을 확인
업체 사이트 https://readerview.freeonlineapps.net/
Mozilla's open-source Readability implantation를 크로미늄에 불러왔다는 설명이 있다.
Mozila open source 확인
Mozilla's open-source Readability implantation
오픈 소스로 다음과 같이 작성된 것을 확인할 수 있다.
https://github.com/mozilla/readability
→ 기본적인 생각은 리더뷰로 만드는 로직을 확인하고 익스텐션의 경우 그 리더뷰를 화면에 렌더링을 시키는 것으로 파악
→ 우리의 경우 렌더링을 없애고 필터링된 html 데이터를 가져올 수 있다면 좀 더 효율적인 본문 추출이 될 수 있지 않을까?
실험1(☺️)
모질라에서 제공하는 리더뷰 오픈소스를 를 사용하여 필터링된 html 파일을 불러올 수 있을 것이다!
node를 설치하고 js로 간단하게 html을 가져와서 위의 모듈을 적용하도록 하였다.
Readability
를 통해서 파싱된 html을 fs를 이용해 write하였다.
비교
광고와 사이드에 있던 불필요한 자료들이 모두 없어진 것을 확인할 수 있었다.
→ 이어서 파이썬에서 크롤링의 텍스트 데이터만 불러오도록 하자
위의 전 과정은 js 환경에서 돌아가기 때문에 python과 맞출필요가 있다.
가능한 방법을 나열해보자
공통점은 javascript를 따로 실행을 해야한다는 것이다.
→ node를 설치할 필요가 있다.
node에서 후처리까지 진행한 후에 stdout으로 subprocess로 넘겨주는 방식
subprocess란?
파이썬 내부에서 새로운 프로세스를 생성하고 파이프를 연결하여 리턴코드를 획득할 수 있도록 하는 모듈
→ 다른 언어로 만들어진 프로그램을 통합, 제어하기 위한 모듈
subprocess.call
subprocess.check_output