.net core + headless chrome实现动态网页爬虫
一般的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实现动态网页爬虫相关推荐
- python+selenium+Chrome(无头版)爬取国家地表水水质自动监测实时数据发布系统(修改版)——动态网页爬虫
这是一篇动态网页的爬虫教程,新手可以操作一下,简单实用. 一.前言 这篇blog跟python+selenium+phantomJS爬取国家地表水水质自动监测实时数据发布系统--动态网页爬虫的爬虫思路 ...
- python+selenium+phantomJS爬取国家地表水水质自动监测实时数据发布系统——动态网页爬虫
一.关于phantomjs 1.介绍 PhantomJS是一个为自动化而生的利器,它本质上是一个基于webkit内核的无界面浏览器,并可使用JavaScript或CoffeeScript进行编程.由于 ...
- python(六)动态网页爬虫
python(六)动态网页爬虫 什么是动态网页爬虫 动态网页 在网站不重新加载的情况下(网页的url不发生改变),通过ajax技术动态更新网站中的局部数据. ajax 异步JavaScript和XML ...
- org.apache.poi Excel列与行都是动态生成的_网络爬虫:Python动态网页爬虫2种技术方式及示例...
作者:糖甜甜甜 https://mp.weixin.qq.com/s/5Dwh5cbfjpDfm_FRcpw1Ug 这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫. 动态网页技术介绍 动 ...
- Python动态网页爬虫技术
这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫. 动态网页技术介绍 动态网页爬虫技术一之API请求法 动态网页爬虫技术二之模拟浏览器法 安装selenium模块下载 Google Chr ...
- python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫
1. 利用API爬取数据 有时,使用BeautifulSoup解析和提取数据后,输出结果为空.这是由于网页使用了另一种加载数据的方式--通过API加载数据.API(Application Progra ...
- java爬虫系列(四)——动态网页爬虫升级版
项目地址 项目介绍 框架 结构 快速启动 修改配置文件 WebDriverPool.java App.java ComicDriver.java ComicContentService.java co ...
- 实战|Python轻松实现动态网页爬虫(附详细源码)
用浅显易懂的语言分享爬虫.数据分析及可视化等干货,希望人人都能学到新知识. 项目背景 事情是这样的,前几天我公众号写了篇爬虫入门的实战文章,叫做<实战|手把手教你用Python爬虫(附详细源码) ...
- python实现监控电脑打开网页_Python轻松实现动态网页爬虫(附详细源码)
AJAX动态加载网页 一 什么是动态网页 J哥一向注重理论与实践相结合,知其然也要知其所以然,才能以不变应万变. 所谓的动态网页,是指跟静态网页相对的一种网页编程技术.静态网页,随着html代码的生成 ...
最新文章
- OpenCV Python教程(1、图像的载入、显示和保存)
- 到底什么是几何深度学习?Twitter 首席科学家Bronstein深度解读
- PHP快速入门 如何操作MySQL
- CA证书和TLS介绍
- npm run dev 报错echarts
- matlab 中括号
- PaperNotes(6)-GAN/DCGAN/WGAN/WGAN-GP/WGAN-SN-网络结构/实验效果
- php做前端可以不用js吗,2019,还要不要学前端?
- axure原型案例_AXURE原型设计:移动端搜索原型案例
- Java中的数组和List
- 定时器 setTimeout setInterval
- nedc和epa续航里程什么意思_电动汽车续航能力NEDC、EPA、WTLP什么意思?哪个最硬核?...
- python+selenium自动化测试环境搭建
- MD5加盐(md5+salt)
- 洛谷P4924魔法少女小Scarlet
- MSC-VO: 基于曼哈顿和结构约束的视觉里程计(CVPR 2021)
- html数独游戏源代码,数独算法及源代码
- 自定义小程序中的showToast
- 学习6大设计原则、23种设计模式
- python疫苗预约系统毕业设计开题报告
热门文章
- wsgiref — WSGI Utilities and Reference Implementation¶
- webpack源码分析(2)---- webpack\bin\webpack.js
- 在linux中添加字体
- JS学习--Number对象
- Android数据库框架-----ORMLite 的基本用法
- UE4: 学习虚幻引擎4的16条准则
- 再谈拍照,OPPO这次拿什么和iPhone7拼?
- Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息
- 使用java编写的一个遍历未知维数的数组函数
- 群晖远程访问服务器,如何通过远程访问访问Synology中的所有数据