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基础路由定义与参数传递规则【详解】  如何在七牛云存储上搭建网站并设置自定义域名?  手机网站制作与建设方案,手机网站如何建设?