C#怎样抓取js执行完后的数据

使用webBrowser控件,在Form1_Load事件中,将需要抓取的地址加载到webBrowser控件中。代码如下:

webBrowser1.Navigate("https://wenku.baidu.com/view/06d87e755e0e7cd184254b35eefdc8d377ee147a.html?from=search");

在webBrowser加载完之后,进行数据提取。这里需要注意,根据原编码读取,防止乱码。代码如下:

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            StreamReader reader = new StreamReader(webBrowser1.DocumentStream, Encoding.GetEncoding(webBrowser1.Document.Encoding));
            string html = reader.ReadToEnd();
       }

提取了html之后,就可以进行解析。解析方法可以参考本人的另一篇文章:使用HtmlAgilityPack快速实现网页爬虫

另外,如果是web网站想要解析其他网页,建议应用程序通过轮询将提取的数据插入数据库,网站再从数据库读取数据。

参考:https://blog.csdn.net/closurer/article/details/73885500

猜你喜欢

转载自blog.csdn.net/badaaasss/article/details/87914754
今日推荐