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

2 篇文章 0 订阅
1 篇文章 0 订阅

使用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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!对于使用C#来编写爬虫并抓取网站后台数据,您可以借助一些库和框架来实现。以下是一个基本的步骤指南: 1. 首先,您需要使用C#的网络请求库,例如HttpClient,来发送HTTP请求到目标网站。您可以使用GET或POST方法发送请求,并传递必要的参数。 2. 接下来,您可以使用HTML解析库,例如HtmlAgilityPack,来解析网页内容。这样您可以提取出所需的数据,如文本、链接、表格等等。 3. 如果目标网站需要登录或进行身份验证,您可能需要模拟登录过程。通过发送POST请求,将用户名和密码等凭据提交给登录页面,并在后续请求中使用Cookie来维持登录状态。 4. 在获取到所需数据后,您可以将其保存到数据库中或进行进一步处理和分析。您可以使用C#数据库访问库,如Entity Framework或SqlClient,来连接和操作数据库。 5. 最后,为了确保爬取过程的合法性和稳定性,建议添加适当的延和错误处理机制。遵守网站的robots.txt文件中的规定,并设置合理的请求间隔,以免给目标网站造成过大的负担。 请注意,在进行网络爬虫,应该遵守法律法规和网站的使用规则,确保以合法和道德的方式使用爬虫技术。此外,如果目标网站有反爬虫机制,您可能需要采取一些反反爬虫的策略来应对。 希望以上信息对您有所帮助!如果您有任何问题,请随提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值