0

我对此非常陌生,我一直在尝试获取title每个独特的论坛页面(或主题),这是我到目前为止的代码:

function GraalGet() {
//parses forums for ALL posts one by one, extract <title> from HTML webpage 
 var sheet = SpreadsheetApp.getActiveSheet();
 var i = 31
 var url = "http://www.graalians.com/forums/showthread.php?p="+i;

  //var params = {method : "post"}; can this be used at all?
  //The aim: loop this once you can get 1 result.

 var geturl = UrlFetchApp.fetch(url).getContentText(); //maybe .getContentText should be elsewhere? 
 var parseurl = Xml.parse(geturl, true);               //confirmed - this is true because it wont parse HTML if false
 var titleinfo = parseurl.getElement().getElement("html"); //.getElement('body');//.getElements("title");

 sheet.appendRow([titleinfo, i]);
} 

此外,脚本会在相邻单元格中记下主题编号。有很多关于提取 XML 数据的已回答问题,这个示例是关于解析 HTML,但我无法提取任何结果 - 老实说,我很难过,任何有关查找和提取标签的帮助将不胜感激。(如果您有时间,也请随时解释,但我会非常感谢您的帮助。)

作为参考,我使用了这些:

对不起,如果我是迂腐的,这是我的第一篇文章,我不想激怒任何人,如果我违反了任何规则,请告诉我,我会尽力解决它们。我也留下了我为自己做的评论供您阅读。

4

1 回答 1

0

您可以使用 Logger.log 打印出调试信息。我用你的函数做了这个,发现标题标签嵌入在标签中。所以你应该使用这样的东西。此外,getElement 返回一个 XmlElement 对象,您应该使用 getText() 将其转换为 String。

var titleinfo = parseurl.getElement().getElement('head').getElement('title'); 
sheet.appendRow([titleinfo.getText(), i]);
于 2012-09-24T01:34:52.193 回答