none
.Net项目中WebBrowser 抓取电商网页无法获取ajax渲染后的内容 RRS feed

  • 问题

  • 如题,手上一个较大的电商业务数据分析项目,前一段页面改版后报错,返回页面显示要求IE10以上。  

    用webbrowser抓了几个测试网站显示是Ie9,于是在请求头里面加了IE11的useragent,这下倒是能抓取,但是抓取到的页面全部是未经ajax渲染的状态,(很多带大括号变量的模板代码)。  

    然后查了网上很多帖子,主要是基本通过修改 FEATURE_BROWSER_EMULATION 注册表内容,试了下对IE确实有效,对我的运行程序却无效!  


    想知道是 webbrowser 自身有缺陷还是我代码的问题。  望有识者指点下,多谢!

    另,如果真是webbrowser兼容性有bug,采用哪种其他组件替代比较好呢?


    2017年3月15日 3:02

全部回复

  • 抓网页数据推荐用htmlagilitypack

    http://htmlagilitypack.codeplex.com/


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年3月15日 4:18
  • 还可以考虑用chrome的内核做的web browser,参考CefSharp

    https://github.com/cefsharp/CefSharp


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年3月15日 4:19