Google Sheets

스프레드시트에서 바로 검색하세요. 페이지 소스에 특정 코드 조각이 들어 있는 웹사이트를 나열하는 수식과, 쿼리 결과 전체를 새 시트로 내보내는 메뉴를 제공합니다. 무료로 복사해 쓸 수 있으며, 내 API 토큰으로 실행됩니다.

=PUBLICWWW(A1)                    websites whose page source contains the query in A1
=PUBLICWWW(A1, 50, "url,rank")    50 rows, only the url and rank columns
=PUBLICWWW_COUNT(A1)              how many websites match

설정 방법

  1. 스프레드시트를 열고 확장 프로그램 > Apps Script를 선택합니다.
  2. Code.gs의 내용을 저장소에 있는 Code.gs로 바꾸고 저장합니다.
  3. 스프레드시트를 새로 고칩니다. PublicWWW 메뉴가 나타나면 Set API token을 선택하고 프로필 페이지에서 발급한 토큰을 붙여 넣습니다. API를 쓰려면 유료 요금제가 필요합니다.
  4. Google이 스크립트 승인을 한 번 요청합니다. 스크립트는 이 스프레드시트만 읽고 쓰며, api.publicwww.com에만 연결합니다.

토큰은 스크립트 속성에 저장되므로, 이 스프레드시트의 스크립트를 편집할 수 있는 사람은 누구나 토큰을 볼 수 있습니다. 편집 권한을 신중하게 공유하거나, 이 스프레드시트 전용 토큰을 따로 발급해 두고 필요하면 프로필 페이지에서 삭제하세요.

쿼리 작성하기

쿼리는 검색창에 입력하는 것과 같습니다. 쿼리 문법을 참고하세요. 따옴표가 중요합니다. 따옴표를 포함한 "angular.min.js"는 정확히 그 문자열을 뜻하고, 따옴표가 없으면 여러 단어로 처리됩니다. 수식 안에서는 따옴표를 두 번 써야 하므로(=PUBLICWWW("""angular.min.js""")), 따옴표까지 포함한 쿼리를 셀에 입력하고 그 셀을 참조하는 편이 쉽습니다: =PUBLICWWW(A1).

함수

수식은 입력하거나 인수가 바뀔 때 검색을 실행하며, 결과는 6시간 동안 보관되므로 시트를 다시 열어도 검색 횟수가 또 차감되지 않습니다. 새 수식 하나는 요금제의 일일 할당량에서 검색 1회로 계산됩니다.

쿼리 결과 전체 내보내기

PublicWWW > Export a query to a new sheet를 선택하면 요금제가 허용하는 모든 행을 새 시트에 기록하고, 전체 개수는 첫 번째 셀의 메모에 남깁니다. 아주 큰 내보내기는 스크립트 1회 실행당 6분이라는 Google의 제한에 걸릴 수 있습니다. 수십만 행 규모의 목록이라면 API를 직접 호출하세요. format=csv는 어떤 스프레드시트에서도 열 수 있습니다.

셀에 #ERROR!가 표시될 때

셀에 마우스를 올리면 원인이 표시됩니다.

원인해결 방법
No API token yetPublicWWW > Set API token을 선택합니다.
invalid_key토큰이 삭제되었습니다. 새 토큰을 설정하세요.
plan_requiredAPI를 쓰려면 유료 요금제가 필요합니다.
too_many_requests분당 10회를 초과했습니다. 표시된 시간(초)만큼 기다리세요.
quota_exceeded오늘의 검색 횟수를 모두 사용했습니다. UTC 자정에 초기화됩니다.

전체 코드: 오류.

다음 Clay