一文排除R语言抓取动态网页(selenium)所有的坑

      最近一直在搞R语言结合自然语言处理,分析公司研究报告相关的课题,但是鉴于单位的数据不能拿出来研究,所以周末在家只能看看如何从网上抓取相关数据了,效果也还不错,可以在网上把各大券商的相关研究报告的评级,推荐时间,股票代码以及研究报告的文本全部抓取出来。具体如下图,示例可在https://download.csdn.net/download/beyondma/10928992下载:

一文排除R语言抓取动态网页(selenium)所有的坑_第1张图片

由于金融行业的研究报告其实总量不是很多,通过使用selenium控制浏览器行为来抓取相关数据,对于没有专门研究过爬虫的人来说能节约不少脑细胞,不过安装selenium却很多坑,此文专门介绍如何把selenium装好,并使用R语言工具调用。

首先是装JDK在https://www.oracle.com/technetwork/java/javase/downloads/index.html官网下载JDK即可单

击“计算机-属性-高级系统设置”,单击“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。

(1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径) 
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin” 
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

安装完成后,cmd进入命令行,执行java -version能看到正确版本即可。

然后安装chrome,https://chrome.en.softonic.com/,这个官网的网址是可以访问的,直接点free download即可安装。

第三到https://download.csdn.net/download/beyondma/10929004下载相关插件,解压到chrome的安装目录C:\Program Files (x86)\Google\Chrome\Application下即可。

第四步

开始-执行-cmd进入命令行

cd C:\Program Files (x86)\Google\Chrome\Application(转到浏览器安装目录)

java -Dwebdriver.chrome.driver="chromedriver.exe" -jar selenium-server-standalone-3.9.1.jar(启动sever)

看到2019-01-20 19:00:42.858:INFO:osjs.Server:main: Started @837ms
19:00:42.858 INFO - Selenium Server is up and running on port 4444

就成功了。

然后启动RSTUDIO

install.packages('RSelenium')#安装selenium包

library(RSelenium)

library(RSelenium)
remDr <- remoteDriver(
  browserName = "chrome",
  remoteServerAddr = "localhost",
  port = 4444L
)
remDr$open() 

这时你看到chrome正受到自动测试软件的控制字样,就算大功告成了。

url="http://finance.sina.com.cn/"
 remDr$navigate(url)
library(rvest)

webpage <- read_html(remDr$getPageSource()[[1]][1])
这样你就能拿到异步加载的网页信息了。怎么样照这个步骤做够简单吧。

你可能感兴趣的:(R,language,stock,R语言主题系列)