Chrome 콘솔에서 간편한 크롤링
이번의 상정 씬은, 「GitHub로 Star 해 준 사람의 일람을 갖고 싶다」라고 하는 케이스. 가끔 Issue로 전원에게 연락하고 싶은 것이 있군요. ↓ 이런 녀석.
@user1, @user2, @user3, ...
GitHub라고 JSON을 반환하는 API가 제공됩니다. 그래서 그것을 사용합니다.
콘솔 열기
새 탭을 열고
about:blank
로 이동합니다. 확실한 상태로 하는 것이 포인트입니다.jQuery를 포함
PhantomJS를 사용하는 경우도 그렇습니다만, 원소의 JavaScript라면 귀찮기 때문에, jQuery를 넣습니다. 다음 두 줄을 실행하면 OK.
> (script = document.createElement('script')).src = 'http://code.jquery.com/jquery-latest.min.js'
> document.getElementsByTagName('head')[0].appendChild(script)
API에서 데이터 검색
키가 필요한 API의 경우는 궁리가 필요합니다만, 공개의 것이라면 다음의 3행으로 OK. JSON 데이터가 들어갑니다.
> result = {}
> url = 'https://api.github.com/repos/cognitom/symbols/stargazers'
> $.getJSON(url, function(data){ result = data })
데이터 처리
우선은 취득할 수 있었는지 확인.
> result
배열이나 객체가 표시되면 OK. 계속해서 필요한 문자열로 성형합니다. 정규 표현식을 사용할 때까지 없었습니다!
> result.map(function(x){ return '@' + x.login }).join(', ')
무사, 처음과 같은
@user1, @user2, @user3,...
라는 문자열을 얻을 수 있었습니다. 실행 결과의 스크린 샷은 다음과 같습니다.마지막으로
위의 사례는 API가 준비되어 있기 때문에 "크롤링"이라고 할 정도의 것은 아니지만, HTML 페이지에서 취득하는 경우에도 콘솔을 사용할 수 있습니다. "about:blank"에 가는 대신 대상 페이지를 열고, jQuery가 도입이 끝나면 그것을, 없으면 이 페이지의 설명과 같이 추가해, 나머지는 DOM을 참조해 데이터를 취득하면 OK. 콘솔에서는 원 라이너가 사용하기 쉽기 때문에 map 함수가 활약하네요.
Reference
이 문제에 관하여(Chrome 콘솔에서 간편한 크롤링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cognitom/items/babefa7b85ffc050d4bd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)