C# 试图抓取facebook messenger聊天,尤其是facebook messenger群聊天
我正在尝试使用c#+selenium+htmlAgilitypack抓取一些fb messenger群聊。到目前为止,我成功地登录到facebook并导航到messenger聊天室,但我无法阅读聊天室中的消息并在控制台上显示C# 试图抓取facebook messenger聊天,尤其是facebook messenger群聊天,c#,facebook,selenium-webdriver,web-scraping,html-agility-pack,C#,Facebook,Selenium Webdriver,Web Scraping,Html Agility Pack,我正在尝试使用c#+selenium+htmlAgilitypack抓取一些fb messenger群聊。到目前为止,我成功地登录到facebook并导航到messenger聊天室,但我无法阅读聊天室中的消息并在控制台上显示 string webUrl = "https://www.facebook.com/"; bool Loop = true; HtmlWeb Web = new HtmlWeb(); Console.WriteLine("Begin
string webUrl = "https://www.facebook.com/";
bool Loop = true;
HtmlWeb Web = new HtmlWeb();
Console.WriteLine("Begins");
var options = new ChromeOptions()
{
BinaryLocation = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
AcceptInsecureCertificates = true
};
IWebDriver driver = new ChromeDriver(@"C:\Users\anasa\OneDrive\Documents\visual studio 2015\Projects\Web Scrapping\Web Scrapping\Classes", options);
driver.Navigate().GoToUrl(webUrl);
var element = driver.FindElement(By.Id("email"));
element.SendKeys("email");
element = driver.FindElement(By.Id("pass"));
element.SendKeys("password");
element = driver.FindElement(By.XPath("//input[@value='Log In']"));
element.Click();
string link = HttpUtility.HtmlDecode(webUrl + "messages/t/Group.Name");
driver.Navigate().GoToUrl(link);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(driver.PageSource);
var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
Console.WriteLine(htmlBody.OuterHtml);
(“//body”)将整个body带到控制台,但当我检查消息使用类,即“\u 3oh-\u 58nk”,并且使用doc.DocumentNode.SelectNodes(//span[@class=”\u 3oh-\u 58nk'])时,它显示空错误。因此我无法抓取fb messenger的消息。更改了选择节点的语句,它成功了
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(driver.PageSource);
var htmlBody = doc.DocumentNode.SelectNodes("//span[contains(@class,'_3oh- _58nk')]").ToList();
foreach (var abc in htmlBody)
{
Console.WriteLine(abc.InnerText);
}
“我无法抓取fb messenger的消息。”-很好。因为你一开始不应该这么做。好的,谢谢。我已经提取了消息。