gpt4 book ai didi

c# - 从 Facebook 页面提取 RSS 源

转载 作者:太空狗 更新时间:2023-10-29 21:02:50 25 4
gpt4 key购买 nike

我需要帮助从 Facebook 页面提取 RSS 提要我正在使用以下代码,但它一直给我一个错误:

string url = 
"https://www.facebook.com/feeds/page.php?id=40796308305&format=rss20";

XmlReaderSettings settings =
new XmlReaderSettings
{
XmlResolver = null,
DtdProcessing=DtdProcessing.Parse,

};
XmlReader reader = XmlReader.Create(url,settings);

SyndicationFeed feed = SyndicationFeed.Load(reader);

foreach (var item in feed.Items)
{
Console.WriteLine(item.Id);
Console.WriteLine(item.Title.Text);
Console.WriteLine(item.Summary.Text);

}

if (reader != null) reader.Close();

此代码与任何博客或页面 rss 完美配合,但与 Facebook rss 一起使用时会出现以下消息的异常

The element with name 'html' and namespace 'http://www.w3.org/1999/xhtml' is not an allowed feed format.

谢谢

最佳答案

Facebook 将在此实例中返回 HTML,因为它不喜欢 XmlReader 提供的用户代理。由于您无法对其进行自定义,因此您将需要一个不同的解决方案来获取提要。这应该可以解决您的问题:

var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.UserAgent = "Fiddler";

var rep = req.GetResponse();
var reader = XmlReader.Create(rep.GetResponseStream());

SyndicationFeed feed = SyndicationFeed.Load(reader);

这完全是 Facebook 的行为,但提议的更改应该同样适用于适合您当前实现的其他网站。

关于c# - 从 Facebook 页面提取 RSS 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com