• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#使用Selenium+PhantomJS抓取数据

C#使用Selenium+PhantomJS抓取数据

作者:挖宝居士 字体:[增加 减小] 来源:互联网 时间:2017-05-28

挖宝居士 通过本文主要向大家介绍了马桶c的个人空间,c语言,欲情 c max,维生素c,crh2c等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

手头项目需要抓取一个用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;
 }
 }
}
</div>

第四步:打开nuget安装Selenium.PhantomJS.WebDriver包。

第五步:运行。可以看到phantomjs.exe被自动下载了。

好了,这样就可以开始你的数据抓取大业了。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28C#中参数个数可变的方法实例分析
  • 2017-05-28C#中析构函数、Dispose、Close方法的区别
  • 2017-05-28介绍C# 泛型类在使用中约束
  • 2017-05-28基于私钥加密公钥解密的RSA算法C#实现方法
  • 2017-05-28判断图片-判断位图是否是黑白图片的方法
  • 2017-05-28C#实现判断操作系统是否为Win8以上版本
  • 2017-05-28C#中的静态成员、静态方法、静态类介绍
  • 2017-05-28C#编程实现向并口设备发送指令、获取并口设备的状态
  • 2017-05-28C# ToolStrip制作四边停靠浮动工具栏
  • 2017-05-28C# ListView双击Item事件

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .Net WInform开发笔记(三)谈谈自制控件(自定义控件)
    • 基于WebRequest.RegisterPrefix的使用详解
    • 解析C#设计模式编程中适配器模式的实现
    • C# 判断字符串第一位是否为数字
    • C#利用iTextSharp添加PDF水印
    • C#图片添加水印的实现代码
    • Winform窗体效果实例分析
    • C#自定义函数NetxtString生成随机字符串
    • C#实现图像锐化的方法
    • C#事件用法实例浅析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有