c# - 从 Facebook 应用程序中抓取数据

标签 c# .net facebook

我正在使用一个 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://scrapy.org/

http://wwwsearch.sourceforge.net/mechanize/

http://watin.sourceforge.net/

另见

.Net Screen scraping and session

关于c# - 从 Facebook 应用程序中抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927676/

相关文章:

javascript - 强制 iOS Facebook 应用程序在浏览器中打开提要链接而不是在 WebView 中

c# - 查找图像中的主色

c# - 在 Win 7 上,GetSystemInfo 总是从 Windows 服务返回 0 分配粒度

c# - WPF CreateBitmapSourceFromHBitmap() 内存泄漏

c# - 为什么此代码不产生撕裂读取?

javascript - Facebook Canvas 应用程序,新 API

C# 单元测试 : Testing a method that uses MapPath

c# - uint 的二进制表示是什么样的?

c# - 使用 LINQ 查找给定素数数组的数字的除数数

facebook - 像 Ê 一样呈现的阿拉伯文本的编码是什么