我已经完成了一个抓取脚本,通过抓取逐个抓取任何网站(要输入的网址)内页,抓取其他内部网址并继续获取所有网页并提取其纯文本(剥离的html)。请参阅my previouse回答。该脚本运行良好,我设法在其运行时间接近某个限制时自动停止它,并且我也通过时间触发器重新启动它以继续执行。
作为一些持久性数据,我使用 ScriptCache 和 ScriptProperties (对于小值变量)。
join()
数组链接到字符串变量:scriptCache.put('processed_urls', processed_urls.join(','))
split()
将字符串缓存到数组中:processed_urls = scriptCache.get('processed_urls').split(',')
链接失败的链接数量可能很大,表明该值太大。 错误详细信息(来自自动电子邮件):
Start Function Error Message Trigger End
4/20/15
12:57 PM scrape Argument too large:value
(line 139, file "Code") time-based 4/20/15 12:57PM
这一行:joined_links = links.join(',');
参数太大:值(第139行,文件“代码”)
由于站点链接的数量很大,要将数组转换为字符串,以便以下字符串具有出价值...当字符串值真正超过25K时会发生这种情况。
可能有什么出路?
此外,当谷歌文档太大,我把删除文本放在哪里时,与...交互的速度很慢?
答案 0 :(得分:0)
脚本缓存(和属性)具有您达到的限制。而是将待处理链接列表存储为电子表格行(甚至是单个单元格)。您还可以将数据传播到更多缓存条目中,但也可以达到总数。要轻松传播,只需将缓存的值命名为“c1”“c2”等,直到找不到为止。