【GAS】Spreadsheet에 기재된 URL의 사이트에, 특정의 배너 화상이 있는지 Google Apps Script로 확인한다
10569 단어 GoogleAppsScriptspreadsheet
엑셀로 하면 여러가지 사정은 좋지만, 미워 맥 유저이므로 VBS 움직이지 않고・・・
Spreadsheet에 원래 기재되어 있고 그대로 GAS로 해 보겠습니다.
Spreadsheet 준비
이런 느낌
이번에는
1. G열 URL 앞으로 비행
2. I열의 배너 종류를 바탕으로, 배너의 존재 체크를 실시한다
3. 배너 종류대로 붙여져 있던 경우는 H열에 ◯를, 그렇지 않은 경우는 ×를 기재
라는 흐름이 됩니다.
배너는 A와 B의 두 종류가 있으며, 둘 다 붙일 수 있습니다.
스크립트 등록
즉시 스크립트를 등록합니다.
메뉴 도구 > 스크립트를 엽니다.
내용은 이런 느낌
function myFunction() {
// シート情報にアクセスできるようにします
var sheet=SpreadsheetApp.getActiveSheet();
// 最後の行数を取得します
var rowcount = sheet.getLastRow();
// 開始行から最終行までまわします
for(var i=7; i<rowcount+1; i++){
// G列のURLを取得します
url = sheet.getRange(i,7).getValue();
// I列のバナー種別を取得します
status = sheet.getRange(i,9).getValue();
// バナーの存在チェックをします
result = check_url(url,status);
if(result){
// 想定通りならH列に◯を
sheet.getRange(i,8).setValue('○');
} else {
// 想定と違ったら×を
sheet.getRange(i,8).setValue('☓');
}
}
}
function check_url(url,status) {
// URL先のHTML情報を取得します
html = get_html(url);
a = false;
b = false;
// 取得したHTMLの中に、指定されたバナーがあるか確認します
if(status == '両方'){
if (html.match(/https:\/\/hogehoge\/assets\/img\/user\/link\//)) {
a = true;
}
if (html.match(/https:\/\/pupupupu\/assets\/img\/user\/link\//)) {
b = true;
}
if((a) && (b)){
return true;
}
}else if(status == 'Aのみ'){
if (html.match(/https:\/\/hogehoge\/assets\/img\/user\/link\//)) {
return true;
}
}else if(status == 'B'){
if (html.match(/https:\/\/pupupupu\/assets\/img\/user\/link\//)) {
return true;
}
}else{
return false;
}
}
function get_html(url) {
try{
var response = UrlFetchApp.fetch(url).getContentText();
return response
}catch(e){
return '';
}
}
어리석게 써 버렸기 때문에 상수 등을 사용하지 않지만
그리고는 화면의 실행 마크를 누르면
주의점
・무한 루프해 버린 경우는?
htps : // sc pt. 오, ぇ. 코 m / 칭찬 / 아 l
여기에 액세스하면 자신이 만든 스크립트의 상태를 볼 수 있습니다.
htps : // sc pt. 오, ぇ. 코 m / 호메 / 에 쿠치 온 s
여기에서 해당 처리의 설정 버튼을 클릭하여 종료합시다.
· 타임 아웃했습니다.
GAS는 5분 이상 실행할 수 없습니다!
그렇다고 해서, 처음의 GAS였지만, 간단하게 Spreadsheet를 조작할 수 있었습니다.
URL이 점점 늘어나면 5 분에 멈추지 않기 때문에 괴롭습니다.
(Excel 좋구나・・・)
Reference
이 문제에 관하여(【GAS】Spreadsheet에 기재된 URL의 사이트에, 특정의 배너 화상이 있는지 Google Apps Script로 확인한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ossy0319/items/731d3c088082728c5c9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)