如果我有一个特定的网址,我可以获取该页面的id和xpath。但是如何在请求中传递用户名和密码以便我可以抓取需要登录才能访问的url?
using HtmlAgilityPack;
_web = new HtmlWeb();
internal Dictionary<string, string> GetidsAndXPaths(string url)
{
var webidsAndXPaths = new Dictionary<string, string>();
var doc = _web.Load(url);
var nodes = doc.DocumentNode.SelectNodes("//*[@id]");
if (nodes == null) return webidsAndXPaths;
// code to get all the xpaths and ids
我应该使用一个网络请求来获取网页源代码,然后将那个文件传递到上面的方法中吗?
var wc = new WebClient();
wc.Credentials = new NetworkCredential("UserName", "Password");
wc.DownloadFile("http://somewebsite.com/page.aspx", @"C:\localfile.html");
System.Net.Http.HttpClient
,因为它更清楚如何设置身份验证详细信息。 - Michael J. Gray