一般的http请求库只能够抓取到网页的静态内容,如果想抓取通过js动态生成的内容可以使用没有gui的browser库,之前许多人会使用phantomjs作为headless browser,不过现在phantomjs团队已经宣布停止更新工作,需要一款替代库,于是这里就采用了headless chrome来进行动态网页内容抓取。

爬虫实现如下:

1.在.net core项目中引用如下nuget包

Selenium.WebDriverSelenium.WebDriver.ChromeDriver

注意:引用Selenium.WebDriver.ChromeDriver后,会在代码目录中copy出chromedriver.exe文件,exe文件只能运行与windows平台下,所以我们需要去网站(http://chromedriver.storage.googleapis.com/index.html)下载当前最新的chromedriver程序linux版,并将程序添加到项目中,属性设置为复制到输出目录。这样导出的程序才可以在linux和windwos平台下都正常运行。

注意2:爬虫的宿主服务器中需要安装和chromedriver一致版本的chrome版本(两个都安装最新版就可以)

2.爬虫代码

class Program{static void Main(string[] args){ChromeOptions op = new ChromeOptions();op.AddArguments("--headless");//开启无gui模式op.AddArguments("--no-sandbox");//停用沙箱以在Linux中正常运行ChromeDriver cd = new ChromeDriver(Environment.CurrentDirectory, op,TimeSpan.FromSeconds(180));cd.Navigate().GoToUrl("http://chart.icaile.com/sd11x5.php");string text = cd.FindElementById("fixedtable").Text;cd.Quit();Console.WriteLine(text);Console.Read();}}

转载于:https://www.cnblogs.com/wangyunjie/p/9078130.html

.net core + headless chrome实现动态网页爬虫相关推荐

  1. python+selenium+Chrome(无头版)爬取国家地表水水质自动监测实时数据发布系统(修改版)——动态网页爬虫

    这是一篇动态网页的爬虫教程,新手可以操作一下,简单实用. 一.前言 这篇blog跟python+selenium+phantomJS爬取国家地表水水质自动监测实时数据发布系统--动态网页爬虫的爬虫思路 ...

  2. python+selenium+phantomJS爬取国家地表水水质自动监测实时数据发布系统——动态网页爬虫

    一.关于phantomjs 1.介绍 PhantomJS是一个为自动化而生的利器,它本质上是一个基于webkit内核的无界面浏览器,并可使用JavaScript或CoffeeScript进行编程.由于 ...

  3. python(六)动态网页爬虫

    python(六)动态网页爬虫 什么是动态网页爬虫 动态网页 在网站不重新加载的情况下(网页的url不发生改变),通过ajax技术动态更新网站中的局部数据. ajax 异步JavaScript和XML ...

  4. org.apache.poi Excel列与行都是动态生成的_网络爬虫:Python动态网页爬虫2种技术方式及示例...

    作者:糖甜甜甜 https://mp.weixin.qq.com/s/5Dwh5cbfjpDfm_FRcpw1Ug 这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫. 动态网页技术介绍 动 ...

  5. Python动态网页爬虫技术

    这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫. 动态网页技术介绍 动态网页爬虫技术一之API请求法 动态网页爬虫技术二之模拟浏览器法 安装selenium模块下载 Google Chr ...

  6. python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫

    1. 利用API爬取数据 有时,使用BeautifulSoup解析和提取数据后,输出结果为空.这是由于网页使用了另一种加载数据的方式--通过API加载数据.API(Application Progra ...

  7. java爬虫系列(四)——动态网页爬虫升级版

    项目地址 项目介绍 框架 结构 快速启动 修改配置文件 WebDriverPool.java App.java ComicDriver.java ComicContentService.java co ...

  8. 实战|Python轻松实现动态网页爬虫(附详细源码)

    用浅显易懂的语言分享爬虫.数据分析及可视化等干货,希望人人都能学到新知识. 项目背景 事情是这样的,前几天我公众号写了篇爬虫入门的实战文章,叫做<实战|手把手教你用Python爬虫(附详细源码) ...

  9. python实现监控电脑打开网页_Python轻松实现动态网页爬虫(附详细源码)

    AJAX动态加载网页 一 什么是动态网页 J哥一向注重理论与实践相结合,知其然也要知其所以然,才能以不变应万变. 所谓的动态网页,是指跟静态网页相对的一种网页编程技术.静态网页,随着html代码的生成 ...

最新文章

  1. OpenCV Python教程(1、图像的载入、显示和保存)
  2. 到底什么是几何深度学习?Twitter 首席科学家Bronstein深度解读
  3. PHP快速入门 如何操作MySQL
  4. CA证书和TLS介绍
  5. npm run dev 报错echarts
  6. matlab 中括号
  7. PaperNotes(6)-GAN/DCGAN/WGAN/WGAN-GP/WGAN-SN-网络结构/实验效果
  8. php做前端可以不用js吗,2019,还要不要学前端?
  9. axure原型案例_AXURE原型设计:移动端搜索原型案例
  10. Java中的数组和List
  11. 定时器 setTimeout setInterval
  12. nedc和epa续航里程什么意思_电动汽车续航能力NEDC、EPA、WTLP什么意思?哪个最硬核?...
  13. python+selenium自动化测试环境搭建
  14. MD5加盐(md5+salt)
  15. 洛谷P4924魔法少女小Scarlet
  16. MSC-VO: 基于曼哈顿和结构约束的视觉里程计(CVPR 2021)
  17. html数独游戏源代码,数独算法及源代码
  18. 自定义小程序中的showToast
  19. 学习6大设计原则、23种设计模式
  20. python疫苗预约系统毕业设计开题报告

热门文章

  1. wsgiref — WSGI Utilities and Reference Implementation¶
  2. webpack源码分析(2)---- webpack\bin\webpack.js
  3. 在linux中添加字体
  4. JS学习--Number对象
  5. Android数据库框架-----ORMLite 的基本用法
  6. UE4: 学习虚幻引擎4的16条准则
  7. 再谈拍照,OPPO这次拿什么和iPhone7拼?
  8. Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息
  9. 使用java编写的一个遍历未知维数的数组函数
  10. 群晖远程访问服务器,如何通过远程访问访问Synology中的所有数据