C#使用Selenium+PhantomJS抓取数据
发布时间 - 2026-01-10 23:12:04 点击率:次手头项目需要抓取一个用js渲染出来的网站中的数据。使用常用的httpclient抓回来的页面是没有数据。上网百度了一下,大家推荐的方案是使用PhantomJS。PhantomJS是一个没有界面的webkit浏览器,能够和浏览器效果一致的使用js渲染页面。Selenium是一个web测试框架。使用Selenium来操作PhantomJS绝配。但是网上的例子多是Python的。无奈,下载了python按照教程搞了一下,卡在了Selenium的导入问题上。遂放弃,还是用自己惯用的c#吧,就不信c#上没有。经过半个小时的折腾,搞定(python折腾了一个小时)。记录下这篇博文,让我等搞c#的新手能用上PhantomJS。

第一步:打开visual studio 2017 新建一个控制台项目,打开nuget包管理器。
第二部:搜索Selenium,安装Selenium.WebDriver。注意:如果要使用代理的话最好安装3.0.0版本。
第三步:写下如下图所示的代码。但是执行的时候会报错。原因是找不到PhantomJS.exe。这时候可以去下载一个,也可以继续看第四步。
using OpenQA.Selenium;
using OpenQA.Selenium.PhantomJS;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var url = "http://www.baidu.com";
IWebDriver driver = new PhantomJSDriver(GetPhantomJSDriverService());
driver.Navigate().GoToUrl(url);
Console.WriteLine(driver.PageSource);
Console.Read();
}
private static PhantomJSDriverService GetPhantomJSDriverService()
{
PhantomJSDriverService pds = PhantomJSDriverService.CreateDefaultService();
//设置代理服务器地址
//pds.Proxy = $"{ip}:{port}";
//设置代理服务器认证信息
//pds.ProxyAuthentication = GetProxyAuthorization();
return pds;
}
}
}
第四步:打开nuget安装Selenium.PhantomJS.WebDriver包。
第五步:运行。可以看到phantomjs.exe被自动下载了。
好了,这样就可以开始你的数据抓取大业了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# C#
# 抓取
# 数据
# phantomjs抓取数据
# selenium
# phantomjs
# 用C#+Selenium+ChromeDriver爬取网页(模拟真实的用户浏览行为)
# c# Selenium爬取数据时防止webdriver封爬虫的方法
# c# 从内存中释放Selenium chromedriver.exe
# C# 利用Selenium实现浏览器自动化操作的示例代码
# C#使用Selenium的实现代码
# C#使用selenium实现爬虫
# 是一个
# 代理服务器
# 第四步
# 好了
# 找不到
# 不信
# 半个
# 可以看到
# 所示
# 管理器
# 这篇
# 第二部
# 报错
# 我等
# 要使
# 第三步
# 搞了
# 如下图
# 就可以
# 卡在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel安装步骤详细教程_Laravel环境搭建指南
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
用yum安装MySQLdb模块的步骤方法
如何在万网开始建站?分步指南解析
Laravel如何优化应用性能?(缓存和优化命令)
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel Session怎么存储_Laravel Session驱动配置详解
如何快速搭建高效WAP手机网站?
网站页面设计需要考虑到这些问题
如何快速打造个性化非模板自助建站?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
如何快速上传建站程序避免常见错误?
Python3.6正式版新特性预览
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
Swift中swift中的switch 语句
再谈Python中的字符串与字符编码(推荐)
EditPlus中的正则表达式 实战(2)
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
教学论文网站制作软件有哪些,写论文用什么软件
?
焦点电影公司作品,电影焦点结局是什么?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
JS实现鼠标移上去显示图片或微信二维码
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
如何基于PHP生成高效IDC网络公司建站源码?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
如何快速登录WAP自助建站平台?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Laravel如何与Pusher实现实时通信?(WebSocket示例)
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Linux系统运维自动化项目教程_Ansible批量管理实战
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Bootstrap CSS布局之列表
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
如何快速查询域名建站关键信息?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用Blade模板引擎?(完整语法和示例)
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站制作壁纸教程视频,电脑壁纸网站?
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何在七牛云存储上搭建网站并设置自定义域名?
手机网站制作与建设方案,手机网站如何建设?

