Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# webclient HTML功能包web解析_C#_.net_Webclient_Html Agility Pack - Fatal编程技术网

C# webclient HTML功能包web解析

C# webclient HTML功能包web解析,c#,.net,webclient,html-agility-pack,C#,.net,Webclient,Html Agility Pack,C#+网络客户端+HTML功能包+网络解析 我想浏览一下这个作业列表,但我无法解析这些链接,因为它会发生变化 例如,当我看到浏览器()中的链接时 当我使用webclient和htmlagilitypack解析它时,我得到了更改后的链接 我必须在webclient上进行设置吗?要包含会话或脚本 这是我的密码 private void getLinks() { StreamReader sr = new StreamReader("categories.txt"); while(!s

C#+网络客户端+HTML功能包+网络解析

我想浏览一下这个作业列表,但我无法解析这些链接,因为它会发生变化

例如,当我看到浏览器()中的链接时

当我使用webclient和htmlagilitypack解析它时,我得到了更改后的链接

我必须在webclient上进行设置吗?要包含会话或脚本

这是我的密码

private void getLinks()
{
    StreamReader sr = new StreamReader("categories.txt");
    while(!sr.EndOfStream)
    {
        string url = sr.ReadLine();
        WebClient wc = new WebClient();
        string source = wc.DownloadString(url);
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(source);
        HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(".//a[@class='internerLink primaerElement']");
        foreach (HtmlNode node in nodes)
        {
                Console.WriteLine("http://jobboerse.arbeitsagentur.de" + node.Attributes["href"].Value);

        }
    }
    sr.Close();
}

您可以尝试WebBrowser类()并使用其DOM检索链接

mshtml.IHTMLDocument2 htmlDoc = webBrowser.Document as mshtml.IHTMLDocument2;
// do something like find button and click
htmlDoc.all.item("testBtn").click();

你的问题不清楚,你能澄清一下HtmlAgilityPack与你的问题有什么关系吗?我实际上是在解析页面并获取链接,就像上面的例子(较长的例子)。但是解析得到的链接与我在chrome上“检查元素”时显示的完全不同。与上面的示例不同,我得到的链接包含“session id=”…我在我的视图源中没有看到sessionId,但我没有登录。这有关系吗?为什么获取会话Id很重要?可能有些链接是由JavaScript生成的。该脚本仅在浏览器内部运行。WebClient无法检索它们,因为它们不存在。是的,这是关于javascript的内容,但如何解析页面以获取我认为由javascript生成的链接。如果webclient无法检索它,有什么方法吗?