Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Xpath GDocs ImportHTML/XML未获取正确的数据_Xpath_Google Sheets_Google Docs - Fatal编程技术网

Xpath GDocs ImportHTML/XML未获取正确的数据

Xpath GDocs ImportHTML/XML未获取正确的数据,xpath,google-sheets,google-docs,Xpath,Google Sheets,Google Docs,我有一个简单的谷歌电子表格的问题。我试图拉一个表,但ImportHTML没有运气,它只会拉第一个顶部单元格并以某种方式复制它。我还尝试了ImportXML,使用XPath帮助程序获取正确的XPath,但它也不会加载正确的表数据 谷歌文档: 我需要的是以下站点上的底部表格(id='player_gbs'): http://www.forge-db.com/us/us18/players/profile/?server=us18&world=Sinerania&id=12497

我有一个简单的谷歌电子表格的问题。我试图拉一个表,但ImportHTML没有运气,它只会拉第一个顶部单元格并以某种方式复制它。我还尝试了ImportXML,使用XPath帮助程序获取正确的XPath,但它也不会加载正确的表数据

谷歌文档:

我需要的是以下站点上的底部表格(id='player_gbs'):

http://www.forge-db.com/us/us18/players/profile/?server=us18&world=Sinerania&id=12497

这是我到目前为止所做的尝试,这些都在GDoc中得到了体现

=ImportHTML(B1, "table", 2)
返回以下行两次: “大建筑时代Lvl FP需求FP左24小时+”

返回:

“过去24小时内具有新级别的GB显示为黄色 背景“伟大的建筑”。FPFP LEFT 24小时+大建筑通用VLFPREQ。FPFP左24小时+”

我认为问题在于/div中包含的是
和之前的
,所以我尝试了这个XPath并得到了N/A:

=ImportXML(B1, "/html/body/div[@class='wrap']/div[@class='content'][2]/div[@class='b-box']/div[@id='player_gbs_wrapper']/table[@id='player_gbs']/tbody")

我相信您的问题是,该表是通过JSON和javascript创建的

<script type="text/javascript" class="init">
$(document).ready(function() {
    $('#player_gbs').dataTable( {
        "aLengthMenu": [[30], ['All']],
        "processing": true,
        "serverSide": true,
        "ajax": "../../getPlayerGBs.php?id=12497&server=us18",

$(文档).ready(函数(){
$('#player_gbs')。数据表({
“阿伦提努”:[[30],“全部”],
“处理”:对,
“服务器端”:正确,
“ajax”:“../../getPlayerGBs.php?id=12497&server=us18”,
这告诉我们数据来自以下URL。

该URL提供填充表的数据

这个脚本()将解析来自该提要的数据,并将其写入一个名为dataImport的工作表中。它只获取前两个数据块,您只需扩展循环即可完成更多工作

function urlDownload() {
var dataImport = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('dataImport');
var apiPoint = "http://www.forge-db.com/us/us18/getPlayerGBs.php?id=12497&server=us18";
var response = UrlFetchApp.fetch(apiPoint);
var response_json = JSON.parse(response.getContentText()); 
var length = response_json.data.length;
var a = [];
for(i=0; i<length; i++){
  dataImport.getRange(i+2, 1, 1, 1).setValue(response_json.data[i][0])
  dataImport.getRange(i+2, 2, 1, 1).setValue(response_json.data[i][1])

 }
}
函数url下载(){
var dataImport=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('dataImport');
变量apiPoint=”http://www.forge-db.com/us/us18/getPlayerGBs.php?id=12497&server=us18";
var response=UrlFetchApp.fetch(apiPoint);
var response_json=json.parse(response.getContentText());
var length=response_json.data.length;
var a=[];

对于(I=0;我非常感谢你的帮助,我甚至没有考虑到,完全有意义,你的代码是完美的。再次感谢!
function urlDownload() {
var dataImport = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('dataImport');
var apiPoint = "http://www.forge-db.com/us/us18/getPlayerGBs.php?id=12497&server=us18";
var response = UrlFetchApp.fetch(apiPoint);
var response_json = JSON.parse(response.getContentText()); 
var length = response_json.data.length;
var a = [];
for(i=0; i<length; i++){
  dataImport.getRange(i+2, 1, 1, 1).setValue(response_json.data[i][0])
  dataImport.getRange(i+2, 2, 1, 1).setValue(response_json.data[i][1])

 }
}