如何用C#+Selenium+ChromeDriver爬取网页
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编今天带大家了解如何用C#+Selenium+ChromeDriver爬取网页,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题
千家信息网最后更新 2025年11月07日如何用C#+Selenium+ChromeDriver爬取网页
小编今天带大家了解如何用C#+Selenium+ChromeDriver爬取网页,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习"如何用C#+Selenium+ChromeDriver爬取网页"的知识吧。
1.背景
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀手武器。这里,我将介绍selenium + 谷歌浏览器的一般使用。
2.需求
在平常的爬虫开发中,有时候网页是一堆js堆起来的代码,涉及很多异步计算,如果是普通的http 控制台请求,那么得到的源文件是一堆js ,需要自己在去组装数据,很费力;但是采用Selenium+ChromeDriver可以达到所见即所得的完美效果。
3.实现方式
项目结构:为了方便使用,用的winform程序,附nuget包
以下是form1.cs的代码,这里就只放关键方法代码了。需要安装最新的chrome浏览器+代码中使用的chromedriver是 v2.9.248315
#region 异常 退出chromedriver [DllImport("user32.dll", EntryPoint = "FindWindow")] private extern static IntPtr FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll", EntryPoint = "SendMessage")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); public const int SW_HIDE = 0; public const int SW_SHOW = 5; [DllImport("user32.dll", EntryPoint = "ShowWindow")] public static extern int ShowWindow(IntPtr hwnd, int nCmdShow); /// /// 获取窗口句柄 /// /// public IntPtr GetWindowHandle() { string name = (Environment.CurrentDirectory + "\\chromedriver.exe"); IntPtr hwd = FindWindow(null, name); return hwd; } /// /// 关闭chromedriver窗口 /// public void CloseWindow() { try { IntPtr hwd = GetWindowHandle(); SendMessage(hwd, 0x10, 0, 0); } catch { } } /// /// 退出chromedriver /// /// public void CloseChromeDriver(IWebDriver driver) { try { driver.Quit(); driver.Dispose(); } catch { } CloseWindow(); } #endregion 异常 退出chromedriver效果:
说一下思路:
1.跳转到指定的网页
driver.Navigate().GoToUrl2.确定数据源,从
driver.PageSource读取数据3.对html数据进行解析
感谢大家的阅读,以上就是"如何用C#+Selenium+ChromeDriver爬取网页"的全部内容了,学会的朋友赶紧操作起来吧。相信小编一定会给大家带来更优质的文章。谢谢大家对网站的支持!
网页
数据
浏览
代码
浏览器
朋友
爬虫
内容
效果
文章
知识
程序
跟着
问题
帮助
测试
平常
普通
关键
句柄
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
芜湖峰林兴网络技术有限公司
无线网络技术第一版课后答案
数据库产品的市场份额
怎么让电脑当服务器
郑州方圆网络技术有限公司
ipsec服务器软件
合肥网络技术学院
网络技术的分类组成
演讲稿六年级网络安全
软件开发vt测试
重庆统一软件开发服务价格优惠
设备管理数据库
网络安全太强大怎么回事
学软件开发应该从哪入手
宁波鑫矿互联网科技
邯郸软件开发解决方案
银行软件开发薪资水平 济南
网络安全法 部门负责
电子软件开发有限公司
数据库软件特点
朗恒服务器
无线网络技术第一版课后答案
个人如何网络安全事件
服务器过载或链接被防火墙屏蔽怎么解决
经纬科技网络技术
重庆统一软件开发服务价格优惠
数据库unique放在哪里
账户密码注册服务软件开发
动画片视频软件开发
tsql数据库联合主键怎么写