我在網上找到了這段代碼,但是當我把它 "復制并粘貼 "到Google Apps Script中時,它卻不起作用了:
https://webscraping.pro/scrape-google-app-script/
我必須做哪些改動才能使其發揮作用,或者是否有一種直接的方法來搜索網站上的特定關鍵詞并在谷歌表格中回傳結果?
uj5u.com熱心網友回復:
在作業表中嘗試這個代碼,然后過濾一些無法使用的行
function textOnly(){
var url='https://stackoverflow.com/questions/69148306/how-do-i-use-google-apps-script-to-scrape-a-website-for-specific-key-words?noredirect=1#comment122219344_69148306'/span>
var sh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sh.clear()
var data=UrlFetchApp.fetch(url)。 getContentText().replace(/(
|
|
| )/gm," ").split('> ' )
data.forEach(function(part){
var text = part.split('< ')[0]
if (text.replace(/([ ] )/gm,"')! {
sh.appendRow([part.split('<')[0] 。 replace(/([ ]{2,})/gm," ")。 replace(/(^ )/gm," ")] )
}
})
}
然后你將能夠用你的特定關鍵詞進行過濾。假設這些關鍵詞位于keywords范圍內,就可以在腳本中包含這些關鍵詞。
function textOnly(){
var url='https://stackoverflow.com/questions/69148306/how-do-i-use-google-apps-script-to-scrape-a-website-for-specific-key-words?noredirect=1#comment122219344_69148306'/span>
var sh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
sh.clear()
var data=UrlFetchApp.fetch(url)。 getContentText().replace(/(
|
|
| )/gm," ").split('> ' )
var list = SpreadsheetApp.getActiveSpreadsheet()。 getRangeByName('keywords')。 getValues().join('|') 。 toLowerCase().split('|')
var n=0
data.forEach(function(part){
var text = part.split('< ')[0]
var myText = part.split('< ')[0] 。 replace(/([ ]{2,})/gm," ")。 replace(/(^ )/gm,"")
if (text.replace(/([ ] )/gm,"")!=' ' ) {
list.forEach(function(term){
if (myText.toLowerCase().includes(term)){
sh.appendRow([myText])
n
}
})
}
})
SpreadsheetApp.getActive()。 toast(n " item(s) found", "End of script!", 5) 。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/319374.html
標籤:
上一篇:第二次呼叫時函式不執行
