我正在使用一个 Facebook 应用程序,它包含我想离线获取的丰富信息集。为此,我基本上需要将网页中的信息读入我自己的数据库中。显然,我宁愿不必手动保存页面并让我的应用程序读取页面并从中提取相关详细信息。不幸的是,我被要求先向 Facebook 进行身份验证而受阻。所以当我运行这段代码时:
private static string getPage(string pageAddress)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(baseUri, pageAddress));
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
StreamReader readStream = new StreamReader(response.GetResponseStream());
string page = readStream.ReadToEnd();
readStream.Close();
response.Close(); // I know, I'm paranoid and this is likely redundant...
return page;
}
我收到这样的回复:
<script type="text/javascript">
if (parent != self)
top.location.href = "http://www.facebook.com/login.php?api_key=<obscured>&canvas&v=1.0";
else self.location.href = "http://www.facebook.com/login.php?api_key=<obscured>&canvas&v=1.0";
</script>
有什么想法可以告诉应用程序我真的是真实的我吗?
最佳答案
据我了解,您只需要登录 Facebook 应用程序,对吧?为它使用任何网络抓取/爬虫框架(它们支持 JS、cookies 等)。他们只是模拟通常的网络浏览。例如,试试这些:
http://wwwsearch.sourceforge.net/mechanize/
另见
关于c# - 从 Facebook 应用程序中抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927676/