Puppeteer를 사용하여 The Economist의 웹 스크랩을 시도했습니다.

스크래핑 대상



영어 학습에도 도움이 되고 싶기 때문에 스크레이프 대상은 구독하고 있는 The Economist.
The Economist의 Puppeteer에 의한 스크래핑이므로 만든 라이브러리의 이름은 Puppenomist. 좋은 모지라고 생각한다.

학습


  • 로그인 처리
    로그인 처리를 행하고 있는 Puppeteer의 예는 적기 때문에 실례로서 참고가 되는 것은.
  • 매너를 지킨 스크래핑
    The Economist의 robots.txt에 「5초마다의 액세스」라고 있으므로, 비교적 시간이 걸린다. 1권분으로 5,6분, 1년분이면 몇 시간이 된다. 몇 시간이면 1회에서는 무리이므로 로그를 남겨 도중부터 재개할 수 있도록 했다.
  • RECAPTCHA
    사이트 측에서는 google의 RECAPTCHA가 설치되어 있다.
    자세한 것은 쓰지 않지만, RECAPTCHA에 걸리기 쉬운 페이지나 거동이라고 하는 것이 있다.
    거동에 관해서는, 랜덤한 초수 걸리도록 해 보았지만 거기까지 효과는 나오지 않고. 클라이언트나 IP 주소 위장은 좋지 않기 때문에 특별히 아무것도 하지 않고.

  • 캡처



    이런 식으로 움직인다.


    The Economist 계정이 없는 사람이라도 적당한 계정과 비밀번호를 입력하면 로그인 시도까지 시도할 수 있습니다. 물론 로그인 실패하고 더 이상 진행되지 않지만.
    -v 옵션으로 Headless가 아닌 Chromium이 일어나므로 움직임을 알기 쉽다고 생각합니다.



    TODO


  • 무작위로 나오는 팝업 감지
    몇 번이나 하고 있으면 랜덤으로 팝업이 나오고 로그인 처리가 움직이지 않을 때가 있다. 검지해 재로드라든지 에러 처리가 필요.
  • OSS에게 자신의 계정 정보를 가르치고 싶지 않습니다.
    이 라이브러리에서 스크래핑하려면 The Economist의 실제 계정 정보가 필요합니다. 스스로 만들어 스스로 사용하는 분에는 좋지만, 누군가 다른 사람이 사용할 때는 자신의 계정 정보를 신뢰할 수 없는 OSS에게는 가르치고 싶지 않은 하즈.
    로그인 처리만은 신뢰할 수 있는 다른 라이브러리에 맡기는, 라든지 밖에서 할 수 있으면 기쁘지만, 뭔가 방법이 있는 것일까?
  • 스크래핑된 데이터로 재생
    2017년의 전책을 스크레이프했으므로 그 데이터로 놀고 싶다. 우선 Bag of Words에서 각 기사의 특징어 검색을 할 수 있도록 했다.
    h tp // 에코미 s ぇあ rch. 어리석은 p. 이 m
    다른 Qiita 기사를 쓴다.

  • 출처



    htps : // 기주 b. 코 m / 야 9 / 뿌페 만 st
    실제로 스크레이프하려면 The Economist 구독 계정이 필요합니다.

    좋은 웹페이지 즐겨찾기