彰化一整天的論壇

 找回密碼
 立即註冊
查看: 1934|回復: 0

【Google教學】如何透過Goole app去抓取網站並解析內容

[複製鏈接]
發表於 2020-7-2 15:42:12 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2020-7-2 18:19 編輯

這個的應用很廣,可以用程式排程自動去網站抓取某一個商品的價格,當商品有特價時,自動寄Email通知,我是用我開excel課程的報名網址來做範例,去抓取網站內容,找到報名人數的規則,抓出報名人數。進階應用可以將異動人數寫到試算表,再比對抓出來的人數若跟試算表不同,就自動寄email通知。

form_get_web_01.jpg


Google App Script : https://script.google.com/
程式碼:http://discuz.bestdaylong.com/thread-38928-1-1.html



抓報名人數
  1. function getWeb() {
  2.   //https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app 語法
  3.    
  4.   var url="https://eec.must.edu.tw/cosinfo/cosinfo.aspx?cid=5515";//您要抓取的網址
  5.   var html="";//儲存抓回的內容
  6.   
  7.   var response=UrlFetchApp.fetch(url, {headers:{"Authorization":"Bearer " + ScriptApp.getOAuthToken()},muteHttpExceptions:true});
  8.   
  9.   
  10.   html=response.getContentText()
  11.   var s="";//最後找出的結果
  12.   var s1='<span id="ContentPlaceHolder1_Label_peoCount">';//要找的文字開頭
  13.   var s2="</span>";//要找的文字開頭
  14.   
  15.   var n1;//文字開始出現的位置
  16.   var n2;//文字結束出現的位置
  17.   
  18.   n1=html.indexOf(s1);
  19.   n2=html.indexOf(s2,n1);
  20.   
  21.   s=html.substring(n1+s1.length,n2);
  22.   Logger.log("結果:"+s);  
  23.   
  24. }
複製代碼
抓網頁標題
  1. function getWeb() {
  2.   //https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app 語法
  3.   // http://discuz.bestdaylong.com/thread-38928-1-1.html   程式碼
  4.   
  5.   var url="http://blog.bestdaylong.com/2020/06/excel_30.html"
  6.   //var url="https://eec.must.edu.tw/cosinfo/cosinfo.aspx?cid=5515";//您要抓取的網址
  7.   
  8.   var html="";//儲存抓回的內容
  9.   
  10.   var response=UrlFetchApp.fetch(url, {headers:{"Authorization":"Bearer " + ScriptApp.getOAuthToken()},muteHttpExceptions:true});
  11.   
  12.   
  13.   html=response.getContentText()
  14.   var s="";//最後找出的結果
  15.   var s1="<title>";//要找的文字開頭
  16.   var s2="</title>";//要找的文字開頭
  17.   
  18.   var n1;//文字開始出現的位置
  19.   var n2;//文字結束出現的位置
  20.   
  21.   n1=html.indexOf(s1);
  22.   n2=html.indexOf(s2,n1);
  23.   
  24.   s=html.substring(n1+s1.length,n2);
  25.   Logger.log("結果:"+s);  
  26.   
  27. }
複製代碼



回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)

GMT+8, 2021-10-19 07:39 , Processed in 0.108209 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表