Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更有效地从数十个特定网页的变体中提取特定值

更有效地从数十个特定网页的变体中提取特定值
EN

Stack Overflow用户
提问于 2021-05-15 20:44:04
回答 1查看 38关注 0票数 0

我正在使用Google Sheets从一个网页的几十次迭代中提取单个值。除了不断变化的用户ID和特定月份的数字之外,每个页面的URL几乎是相同的。

我的函数当前设置了一个等于IMPORTXML公式的单元格,其中包含用于说明更改的变量。然而,我最终将有超过600个请求需要完成,而Google Sheets在处理那么多请求时往往会花费永远/中断的时间。

这些数据每月只需要拉取一次。

代码语言:javascript
运行
AI代码解释
复制
    var sSheet = SpreadsheetApp.getActiveSpreadsheet();
    var uniqueSheet = sSheet.getSheetByName("Sheet2");

    var uniqueLastColumn = uniqueSheet.getLastColumn() + 1;

    var players = [654270, 601000, 335700, 636969, 344585];
  var numPlayers = players.length;

    var currPlayer = 0;
  var row = 1;

    var currMonth = 0;
    var maxMonth = 12;

    for (currPlayer = 0; currPlayer < numPlayers; currPlayer++) {
        

        for (currMonth = 0; currMonth < maxMonth; currMonth++) {

            tarRange = uniqueSheet.getRange(row, (uniqueLastColumn + currMonth)).setValue('=importXML("https://www.trueachievements.com/gamerperiodsummary.aspx?gamerid=' + players[currPlayer] + '&year=2021&month=' + currMonth + '", "/html/body/form/div[2]/div[2]/main/div[4]/div[1]/div/div[2]/span[1]") ');
        }

        row++;
        uniqueLastColumn = 1;
    }
}

有没有更有效的方法来获取这些数据?

我尝试了其他变体,包括不使用XmlService,但是,我无法找到一种只获取我需要的数据的方法。

我需要一个特定标签中的值,如下所示。

代码语言:javascript
运行
AI代码解释
复制
<div class ="gs-rd">
      <div></div>
      <div>
             <span> **THIS ONE IS THE ONE I NEED** </span>
             <span></span>
      </div>
</div>
EN

回答 1

Stack Overflow用户

发布于 2021-05-15 22:46:50

不确定函数IMPORTXML,但这种填充单元格的方法是非常错误的:

代码语言:javascript
运行
AI代码解释
复制
for (currPlayer = 0; currPlayer < numPlayers; currPlayer++) {
    for (currMonth = 0; currMonth < maxMonth; currMonth++) {
        tarRange = uniqueSheet.getRange(row, (uniqueLastColumn + currMonth))
        .setValue('=importXML("https://www.trueachievements.com/gamerperiodsummary.aspx?gamerid=' 
        + players[currPlayer] + '&year=2021&month=' 
        + currMonth + '", "/html/body/form/div[2]/div[2]/main/div[4]/div[1]/div/div[2]/span[1]") ');
    }
    row++;
    uniqueLastColumn = 1;
}

你需要先做一个二维数组,然后用range.setValues(array)方法一步完成单元填充。

如下所示:

代码语言:javascript
运行
AI代码解释
复制
var tarRange_all = uniqueSheet.getRange(1,1,100,100); // put here your real range

var s1 = '=importXML("https://www.trueachievements.com/gamerperiodsummary.aspx?gamerid=';
var s2 = '&year=2021&month=';
var s3 = '", "/html/body/form/div[2]/div[2]/main/div[4]/div[1]/div/div[2]/span[1]") ';

var table = []; // the array

for (currPlayer = 0; currPlayer < numPlayers; currPlayer++) {
    var table_row = [];
    for (currMonth = 0; currMonth < maxMonth; currMonth++) {
        table_row.push(s1 + players[currPlayer] + s2 + currMonth + s3);
    }
    table.push(table_row);
}

tarRange_all.setValues(table); // fill all cells at once

每个setValue()getValue()都需要很长时间才能执行。你应该尽可能少用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67551055

复制
相关文章
基于OpenCV的特定区域提取
今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。
小白学视觉
2020/08/28
2.9K0
01:查找特定的值
01:查找特定的值 查看 提交 统计 1 #include<iostream> 2 using namespace std; 3 int a[10001]; 4 int main() 5 { 6 int n; 7 int ans; 8 cin>>n; 9 for(int i=1;i<=n;i++) 10 { 11 cin>>a[i]; 12 } 13 cin>>ans; 14 for(int j=1;j<
attack
2018/04/03
1.8K0
练习4—寻求特定值
题目 编写程序,从键盘上输入N个学生的考试成绩存入一维数组中,求该数组中成绩的最高分、最低分及平均分并输出到屏幕。 解题步骤 (1)定义常量N值; (2)建立用于存放数据的一维数组; (3)接收用户输入; (4)查询 / 计算特定值; (5)输出结果; Java import java.util.Scanner; public class Demo { public static void main(String[] args) { Scanner input = ne
攻城狮杰森
2022/06/03
3680
PASCAL VOC提取出特定的目标类别
import osimport shutilann_filepath = 'D:\dataset\cityscapes\cityscape_voc_clean\Annotations\\'img_filepath = 'D:\dataset\cityscapes\cityscape_voc_clean\JPEGImages\\'img_savepath = 'D:\dataset\cityscapes\cityscape_voc_clean\JPEGImages_car\\'ann_savepath = '
狼啸风云
2020/07/14
1K0
GitHub 如何从特定的版本中创建分支
在 Git 的操作中,我们可能需要从特定的版本中创建分支。 首先需要的第一步是活的当前项目的提交历史列表。 然后在特定的版本后,选择 <> 标记,进入这个版本的提交历史。 在左上角上,选择提交历史。 在弹出的对话框中输入分支名称。 在你输入名称后,将会提示你创建分支。 这个的意思是从当前的提交版本中创建一个分支。 然后可以从上面的提交中创建一个分支。 在创建完成后,可以从分支列表中查看创建的分支列表。 https://www.ossez.com/t/github/13414
HoneyMoose
2021/04/02
6.9K0
GitHub 如何从特定的版本中创建分支
总结 | 基于OpenCV提取特定区域方法汇总
今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。
AI算法与图像处理
2020/08/28
4.3K0
从excel文件xlsx中特定单元格中提取图片「建议收藏」
第一种网上通用的用xlsx改zip压缩包,能批量提取出图片。但是无法知道图片在单元格中的顺序信息。
全栈程序员站长
2022/09/14
6.4K0
如何根据特定值找到IDOC
IDOC的官方名称叫Intermediate Document,用于两个模块,或者两个系统间交换信息。
用户5495712
2020/10/22
1.8K0
如何根据特定值找到IDOC
Git 如何从特定的提交中创建一个新的分支
通过在提交历史中单击右键,然后选择分支,你就可在当前指定的提交历史中来创建一个新的分支了。
HoneyMoose
2022/06/04
6.8K0
Git 如何从特定的提交中创建一个新的分支
用深度学习从非结构化文本中提取特定信息
这是与我们工作有关的一系列技术职务中的第一个。在iki项目中,涵盖了一些机器学习的应用案例和用于解决各种自然问题的深度学习技术的语言处理和理解问题。
AiTechYun
2019/05/21
2.7K0
用深度学习从非结构化文本中提取特定信息
如何用Python提取指定文档中的特定字符并加粗显示?
想把从网络上找来的文章(另存为new.docx或者new.html)与高考词汇表(另存为vocabulary.docx或者vocabulary.html)进行比对后,网络文章里的词汇为高考考纲词汇的,则加粗显示。
9135621
2020/04/23
8.6K1
如何用Python提取指定文档中的特定字符并加粗显示?
用深度学习从非结构化文本中提取特定信息
这是我们在iki项目工作中的一系列技术文章中的第一篇,内容涵盖用机器学习和深度学习技术来解决自然语言处理与理解问题的一些应用案例。
AI研习社
2019/07/04
2.3K0
使用 Python 删除大于特定值的列表元素
Lambda 函数,通常称为“匿名函数”,与普通的 Python 函数相同,只是它可以在没有名称的情况下定义。def 关键字用于定义普通函数,而 lambda 关键字用于定义匿名函数。但是,它们仅限于单一的表达方式。与常规函数一样,它们可以接受多个参数。
很酷的站长
2023/02/23
10.7K0
使用 Python 删除大于特定值的列表元素
mysql学习—查询数据库中特定的值对应的表
遇到一个问题,我将问题抽象简单描述如下: 循环查询数据库所有表,查出字段中包含tes值的表,并且将test修改为hello? 因为自己不才找了很久也没有找到很好的方法,又对mysql的游标等用法不是很了解,在时间有限的情况下,发现了下面的方法,分享给大家: 1:查找 (1)使用工具 我使用的mysql的Navicat for MySQL的工具
全栈程序员站长
2022/07/19
7.6K0
mysql学习—查询数据库中特定的值对应的表
js中如何判断数组中包含某个特定的值_js数组是否包含某个值
array.includes(searchElement[, fromIndex])
全栈程序员站长
2022/09/27
18.6K0
Exchange 禁止特定用户发往特定域名邮件
创建集线器传输规则 勾选来自用户、当收件人包含特定词语,输入@qq.com 操作选择删除邮件而不通知任何人 测试下发送情况,往QQ发送了个测试邮件,下面看看传递报告,可以看到发往QQ的邮件邮件被规则阻
李珣
2019/03/14
3.1K0
【Android Gradle 插件】主工程依赖指定 Library 的特定变体 ( LibraryExtension#publishNonDefault 配置 | 依赖指定 Library 变体 )
LibraryExtension ( Library 依赖库的 build.gradle#android 配置 ) 文档 : android-gradle-dsl/2.3/com.android.build.gradle.LibraryExtension.html
韩曙亮
2023/03/30
6100
npm 中如何下载特定的组件版本
IMWeb前端团队
2018/01/08
4.3K0
npm 中如何下载特定的组件版本
点击加载更多

相似问题

从网页中提取特定的表

14

从网页中的表中提取特定信息

10

从网页中提取特定数据

10

如何从网页中提取特定文本

41

如何从网页中提取特定文本

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文