我需要访问Facebook页面的HTML,从中提取一些数据。所以,我需要创建一个WebRequest
。
示例:
我的代码适用于其他网站,但对于Facebook,我必须登录才能访问HTML。
如何使用Firefox数据为Facebook页面创建WebRequest
?
我试过了:
List<string> HTML_code = new List<string>();
WebRequest request = WebRequest.Create(URL);
using (WebResponse response = request.GetResponse())
using (StreamReader stream = new StreamReader(response.GetResponseStream()))
{
string line;
while ((line = stream.ReadLine()) != null)
{
HTML_code.Add(line);
}
}
...但是当我没有登录时,HTML结果是Facebook主页的HTML。
答案 0 :(得分:8)
如果你想要的是从Facebook页面检索喜欢的数量,你可以使用Facebook's Graph API service。只是保持简单,这是我在代码中基本上做的:
然后,这基本上转换为此代码。请注意,我遗漏了所有奇特的异常处理以保持简单,因为使用网络并不总是可靠的!另外,不要忘记在项目中包含Json.Net库!
Usings:
using System.IO;
using System.Net;
using Newtonsoft.Json.Linq;
代码:
string url = "https://graph.facebook.com/cocacola";
WebClient client = new WebClient();
string jsonData = string.Empty;
// Load the Facebook page info
Console.WriteLine("Connecting to Facebook...");
using (Stream data = client.OpenRead(url))
{
using (StreamReader reader = new StreamReader(data))
{
jsonData = reader.ReadToEnd();
}
}
// Get number of likes from Json data
JObject jsonParsed = JObject.Parse(jsonData);
int likes = (int)jsonParsed.SelectToken("likes");
// Write out the result
Console.WriteLine("Number of Likes: " + likes);