Ion*_*zău 3 .net c# wpf firefox webrequest
我需要访问Facebook页面的HTML,从中提取一些数据.所以,我需要创建一个WebRequest
.
例:
我的代码适用于其他网站,但对于Facebook,我必须登录才能访问HTML.
如何使用Firefox数据创建WebRequest
Facebook页面?
我试过这个:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
...但是当我没有登录时,HTML结果是Facebook主页的HTML.
如果你想要的是从Facebook页面检索喜欢的数量,你可以使用Facebook的Graph API服务.只是保持简单,这是我在代码中基本上做的:
然后,这基本上转换为此代码.请注意,我遗漏了所有奇特的异常处理以保持简单,因为使用网络并不总是可靠的!另外,不要忘记在项目中包含Json.Net库!
Usings:
using System.IO;
using System.Net;
using Newtonsoft.Json.Linq;
Run Code Online (Sandbox Code Playgroud)
码:
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);
Run Code Online (Sandbox Code Playgroud)