Google apps script Can';t分析<;内容:编码>;来自RSS

Google apps script Can';t分析<;内容:编码>;来自RSS,google-apps-script,xml-parsing,rss,urlfetch,Google Apps Script,Xml Parsing,Rss,Urlfetch,这就是RSS的外观: 我的脚本完美地解析了RSS中的“title”、“description”和其他items标签。但它不解析“content:encoded” 我试过这个: item.getChild("content:encoded").getText(); 这是: item.getChild("encoded").getText(); 这(在Stackoverflow上找到): 但什么都不管用。。。您能帮助我吗?将此库添加到项目中:1Mc8Bth

这就是RSS的外观:

我的脚本完美地解析了RSS中的“title”、“description”和其他items标签。但它不解析“content:encoded”

我试过这个:

item.getChild("content:encoded").getText();
这是:

item.getChild("encoded").getText();
这(在Stackoverflow上找到):


但什么都不管用。。。您能帮助我吗?

将此库添加到项目中:
1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z\U W3hLTAX5ek4w0G\U EIrNw

你可以刮掉这一页。使用此代码,即,您可以获得
标记的第一个内容

function getDataFromJson() {
  var url = "https://reddit.0qz.fun/r/dankmemes/top.json";
  var fromText = '<content:encoded>';
  var toText = '</content:encoded>';
  
  var content = UrlFetchApp.fetch(url).getContentText();
  var scraped = Parser
  .data(content)
  .from(fromText)
  .to(toText)
  .build();
  Logger.log(scraped);
  return scraped;
}
函数getDataFromJson(){ 变量url=”https://reddit.0qz.fun/r/dankmemes/top.json"; var fromText=''; var-toText=''; var content=UrlFetchApp.fetch(url.getContentText(); var scraped=语法分析器 .数据(内容) .from(fromText) .to(toText) .build(); Logger.log(刮削); 返程刮削; } 对于和类似的方法成功解析内容非常重要

第三个示例很接近,但参数顺序是向后的,需要使用方法,而不是原始字符串。(签名是
getChild(string,namespace)
,而不是
getChild(string,string)

这是一个棘手的问题,因为名称空间应该包含在一些元素中,而不是其他元素中。我不是XML专家,所以我不知道这是否是预期的行为。下面的最小示例脚本确实使用
getChild
查找并记录
元素的文本,但我只能通过反复试验来确定何时包含或排除名称空间。(如果有人对原因有进一步的了解,请在评论中告诉我。)

函数logContentEncoded(){
const result=UrlFetchApp.fetch(“https://reddit.0qz.fun/r/dankmemes/top.json");
const document=XmlService.parse(result.getContentText());
const root=document.getRootElement();
const namespace=XmlService.getNamespace(“http://purl.org/rss/1.0/modules/content/");
const channel=root.getChild(“channel”);//如果包含命名空间,则失败
const item=channel.getChild(“item”);//如果包含命名空间,则失败
const encoded=item.getChild(“encoded”,namespace);//如果命名空间被排除,则失败
log(encoded.getText());
}

你就不能换成json吗?@TheMaster怎么做?
function getDataFromJson() {
  var url = "https://reddit.0qz.fun/r/dankmemes/top.json";
  var fromText = '<content:encoded>';
  var toText = '</content:encoded>';
  
  var content = UrlFetchApp.fetch(url).getContentText();
  var scraped = Parser
  .data(content)
  .from(fromText)
  .to(toText)
  .build();
  Logger.log(scraped);
  return scraped;
}