Google apps script Can';t分析<;内容:编码>;来自RSS
这就是RSS的外观: 我的脚本完美地解析了RSS中的“title”、“description”和其他items标签。但它不解析“content:encoded” 我试过这个: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
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;
}