我正在将apps脚本用作Webhook,用于捕获信息并将其存储在BigQuery中。我曾经能够使用来将数据存储在工作表中,appendRow
但是由于数据量越来越大,我势必会寻找替代方法,因此决定使用BigQuery进行存储。
当我使用BigQuery控制台使用标准SQL查询插入/更新数据时,它可以完美运行,但在使用应用程序脚本时效果不佳。
这是我的doGet
功能,应该捕获数据并运行,BigQuery.Jobs.query
但是它失败了而不更新表-
var projectId = 'MyProjectID';
var datasetId = 'MyDatasetID';
var tableId = 'MyTableID';
function doGet(e) {
var params = JSON.stringify(e.parameters);
var jsonMapping = JSON.parse(params)
var email = jsonMapping["email"][0]
var number = jsonMapping["number"][0]
var request = {
'query': "INSERT INTO `" + projectId + "."+ datasetId + "." + tableId + "` VALUES ('" + email + "','" + number + "')"
}
var queryResults = BigQuery.Jobs.query(request, projectId);
var jobId = queryResults.jobReference.jobId;
return …
Run Code Online (Sandbox Code Playgroud) 我试图将帖子的数量刮到给定的标签(#castles),并使用ImportXML填充Google表格单元格。
我尝试从Chrome复制Xpath并将其粘贴到像这样的单元格中的ImportXML参数中:
=ImportXML("https://www.instagram.com/explore/tags/castels/", "//*[@id="react-root"]/section/main/header/div[2]/div/div[2]/span/span")
Run Code Online (Sandbox Code Playgroud)
我看到引号存在问题,因此我也尝试了:
=ImportXML("https://www.instagram.com/explore/tags/castels/", "//*[@id='react-root']/section/main/header/div[2]/div/div[2]/span/span")
Run Code Online (Sandbox Code Playgroud)
但是,两者都返回错误。
我究竟做错了什么?
附言:我知道元标记描述的Xpath,"//meta[@name='description']/@content"
但是我想抓取帖子的确切数目,而不是缩写的数目。
xpath google-sheets web-scraping google-apps-script instagram