C#爬取动态网页

本文介绍了如何使用C#的WebBrowser控件来处理动态网页,特别是那些依赖JavaScript的页面。通过示例代码展示了如何保存网页源码、执行JavaScript、调用JS函数以及提交表单,为动态网页的爬取提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直在尝试用java来爬取网页,然而java总是无法处理动态网页,尤其是js产生的网页。而在如今的web2.0时代,许多的数据都涉及到js,比如新闻评论、微博等。java中htmlparser和htmlunit结合是可以处理静态网页、提交表单的,如爬取人人网,但对于新闻评论就没办法了。也有一些号称可以处理动态网页的开源项目,如jrex等一些开源的浏览器项目。但是我试过之后,总是不能很好的解决,有的可能能处理一小部分的动态网页,但是总是有这样那样的问题,也没有找出处理js后的源码。

一直听说c#中的webbrowser可以处理几乎所有的动态网页,功能很强大。只是之前借用朋友的代码看了看,并从webbrowser执行后的html打印出来(webBrowser1.DocumentText),可发现也是没有执行js之前的源码。于是对其很失望,找了很多的代码发现都是如此。后来再csdn下了一个代码,发现要获取webbrowser执行后的html源码不是我以前看到的,而是webBrowser1.Document.Body.OuterHtml,才恍然大悟。总算找到了出路。

 

保存源码到文件

        private int SaveToFile(string body, string fileName)
        {
            try
            {
                FileStream fs = new FileStream("E:\\"+fileName + ".html", FileMod

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值