Puppeteer를 사용하여 The Economist의 웹 스크랩을 시도했습니다.
스크래핑 대상
영어 학습에도 도움이 되고 싶기 때문에 스크레이프 대상은 구독하고 있는 The Economist.
The Economist의 Puppeteer에 의한 스크래핑이므로 만든 라이브러리의 이름은 Puppenomist. 좋은 모지라고 생각한다.
학습
로그인 처리를 행하고 있는 Puppeteer의 예는 적기 때문에 실례로서 참고가 되는 것은.
The Economist의 robots.txt에 「5초마다의 액세스」라고 있으므로, 비교적 시간이 걸린다. 1권분으로 5,6분, 1년분이면 몇 시간이 된다. 몇 시간이면 1회에서는 무리이므로 로그를 남겨 도중부터 재개할 수 있도록 했다.
사이트 측에서는 google의 RECAPTCHA가 설치되어 있다.
자세한 것은 쓰지 않지만, RECAPTCHA에 걸리기 쉬운 페이지나 거동이라고 하는 것이 있다.
거동에 관해서는, 랜덤한 초수 걸리도록 해 보았지만 거기까지 효과는 나오지 않고. 클라이언트나 IP 주소 위장은 좋지 않기 때문에 특별히 아무것도 하지 않고.
캡처
이런 식으로 움직인다.
The Economist 계정이 없는 사람이라도 적당한 계정과 비밀번호를 입력하면 로그인 시도까지 시도할 수 있습니다. 물론 로그인 실패하고 더 이상 진행되지 않지만.
-v 옵션으로 Headless가 아닌 Chromium이 일어나므로 움직임을 알기 쉽다고 생각합니다.
TODO
몇 번이나 하고 있으면 랜덤으로 팝업이 나오고 로그인 처리가 움직이지 않을 때가 있다. 검지해 재로드라든지 에러 처리가 필요.
이 라이브러리에서 스크래핑하려면 The Economist의 실제 계정 정보가 필요합니다. 스스로 만들어 스스로 사용하는 분에는 좋지만, 누군가 다른 사람이 사용할 때는 자신의 계정 정보를 신뢰할 수 없는 OSS에게는 가르치고 싶지 않은 하즈.
로그인 처리만은 신뢰할 수 있는 다른 라이브러리에 맡기는, 라든지 밖에서 할 수 있으면 기쁘지만, 뭔가 방법이 있는 것일까?
2017년의 전책을 스크레이프했으므로 그 데이터로 놀고 싶다. 우선 Bag of Words에서 각 기사의 특징어 검색을 할 수 있도록 했다.
h tp // 에코미 s ぇあ rch. 어리석은 p. 이 m
다른 Qiita 기사를 쓴다.
출처
htps : // 기주 b. 코 m / 야 9 / 뿌페 만 st
실제로 스크레이프하려면 The Economist 구독 계정이 필요합니다.
Reference
이 문제에 관하여(Puppeteer를 사용하여 The Economist의 웹 스크랩을 시도했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ya9do/items/ff8695377afe46c91fb9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)