0

我一直在使用 HTML AGILITY PACK 获取一些数据,通过选择一些标签从网页获取数据,但我有一个错误或其他问题。有时网页超时,应用程序无法获取数据。我应该如何摆脱这个,因为我需要一次又一次地刷新页面?

这是我的代码:

string Url = "http://gmail.com";
HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load(Url);
var SpanNodes = doc.DocumentNode.SelectNodes("//div[@class='form-field wide-80 
normal']");

如何使用 C# 在浏览器中刷新网页,或者如何通过在 Web 浏览器中打开网页来使用 HTML AGILITY PACK 获取数据?....请指导我如何做到这一点。

4

2 回答 2

1

HTML AGILITY PACK 擅长从网页解析数据,如果您想自动化/控制(例如导航、刷新等)网页,请考虑使用Selenium

IWebDriver driver = new OpenQA.Selenium.Firefox.FirefoxDriver();
driver.Navigate().GoToUrl(url);   
driver.Navigate().Refresh();      // <--- here it gets refreshed

BTW:你经常从一个url刷新/爬取数据,在大多数情况下是不可行的,而且随着你的流量增长,大多数网站都会提示你输入验证码,你很难进一步抓取其中的数据。这虽然可能是题外话,:)

于 2013-04-19T14:55:15.263 回答
0

构建所谓的爬虫并非常频繁地刷新网页可能会导致暂时禁止,以避免给服务器造成过多负担。

于 2013-04-19T14:57:18.420 回答