Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有谁能提供帮助,让这段代码更有效率吗?_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 有谁能提供帮助,让这段代码更有效率吗?

Javascript 有谁能提供帮助,让这段代码更有效率吗?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我对编码非常陌生,所以请原谅我犯的新手错误。感谢您的任何帮助 使用GWTAPI,我能够从flicks数据库中提取图像并将它们插入到电子表格中,但我使用的过程似乎不必要地费力 下面是我用来从数据库中提取图像URL的函数: function kwURL (keyword){ var response = UrlFetchApp.fetch("https://www.flickr.com/search/?q="+keyword) var content=response.getCont

我对编码非常陌生,所以请原谅我犯的新手错误。感谢您的任何帮助

使用GWTAPI,我能够从flicks数据库中提取图像并将它们插入到电子表格中,但我使用的过程似乎不必要地费力

下面是我用来从数据库中提取图像URL的函数:

    function kwURL (keyword){
   var response = UrlFetchApp.fetch("https://www.flickr.com/search/?q="+keyword)
 var content=response.getContentText();

   var length = content.length;
 var count=0;

 for (var i=0;i<=length-3;i++){   
   if(content.substring(i,5+i).equals("src=\"")){
    var start=i+5;
    count+=1
    if(count==4){
    for (var e=start;e<length-1;e++){
      if (content.substring(e,e+1).equals("\"")){
       var end=e
       break;
      }     
     }
    }
     if(count==4){break;}
  }
 }
  Logger.log(content.substring(start,end));  
  return content.substring(start,end):
}
函数kwURL(关键字){
var response=UrlFetchApp.fetch(“https://www.flickr.com/search/?q=“+关键字)
var content=response.getContentText();
变量长度=content.length;
var计数=0;
对于(var i=0;i屏幕抓取(这基本上就是您在这里所做的)只能作为最后手段使用。对正在获取的网页的任何更改都可能会破坏您的代码。解决您的问题的更好方法是使用为第三方开发人员提供的公开可用API以标准格式请求某些数据。看起来Flickr只提供了以下功能:(注意:我没有使用此API的经验。我只是在谷歌快速搜索后发现它存在)


如果您获取正确的API资源,您应该会返回一个JSON对象,该对象包含一个直接指向图像的URL列表。不再有奇怪的
for()
循环,不再有丑陋的
(如果magicNumber==4)
If(magicString=='\'src\')
code。此时,将这些图像插入电子表格应该非常简单。

如果它有效,你做得很好!!至少,它可以让你理解你自己的代码。如果它无效,请声明为错误。因为如果你不能清楚地提供你真正需要的内容,投票将被否决
    function onChange(){
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var rows = sheet.getDataRange();  
  var numRows = rows.getNumRows();   
  for (var i = 2; i <= numRows + 2; i++) {
  var keyword =sheet.getRange(i, 1).getValue();
    if(keyword!=""){sheet.insertImage(kwURL(keyword), 2, i);}    
  }  
}