python抓取动态网页(R语言RSelenium包爬取动态网页数据前期准备(环境配置) )
优采云 发布时间: 2021-10-16 11:16python抓取动态网页(R语言RSelenium包爬取动态网页数据前期准备(环境配置)
)
最近因为需要爬取动态网页,但是对python不熟悉,研究了R做动态网页爬取。综上所述,主要难点在于环境的配置,因为关于R的信息比较少,所以不是很方便。
对于一般的静态网页,我们可以使用rvest进行抓取,但是对于这种动态网页,使用rvest只能抓取一片空白。
动态页面和静态页面的主要区别在于刷新数据时使用了ajax技术。刷新时从数据库中查询数据,重新渲染到前端页面。数据存储在网络包中。如果抓取 HTML,则无法获取数据。
爬虫抓取静态网页和动态网页
首先我尝试了 Rwebdriver 包,参考:/p/28108329
但是无论包怎么安装(devtools,本地加载),都不能成功。然后查了一下原因,看到这个包是2015年到2016年的,此后一直没有更新;使用这个包的相关文章也集中在17年左右。我个人猜测是因为很久没有更新了,与现有的R版本不兼容(本文R版本为3.6.2 (2019-12-1< @2)). 配置很长一段时间,最后无奈放弃。
然后我又开始在R上寻找爬虫,发现
无头浏览器方法。元子:R爬虫动态网站Rseleium包Rcrawler包(自动下载网页,但是时间太长,所以放弃了)
最后看一下,考虑到方便和效率,选择Rseleium进行爬取。
几个参考资料:
/LEEBELOVED/article/details/89461304
windows下配置RSelenium和Selenium环境
selenium server运行时报错---"Port is occupied",windows平台如何查看端口占用情况
说一下安装过程。其实主要是设置安装环境。
1、首先建议下载firefox浏览器,下载最新版本。
2、firefox 浏览器安装后,需要将其安装路径添加到系统环境变量中。
参考:R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_人工智能_STAY HUNGRY STAY FOOLISH-CSDNblog
windows系统中如何设置和添加环境变量-百度经验
3、java环境配置。注:我的电脑好像有自己的java jdk,你可以看看你的电脑有没有
参考:R语言RSelenium包爬取动态网页数据前期准备(环境配置)-连载NO.01_人工智能_STAY HUNGRY STAY FOOLISH-CSDNblog
4、硒配置
去seleium官网(下载)或者找镜像下载,然后选择最新版本的selenium-server-standalone-3.141.59.jar。下载并保存到您的计算机。建议保存到C盘,自己创建一个文件夹(我的是C:\Seleium)
只需要最新的3.141.59.jar。没有其他需要
5、运行硒。这一步搞了很久,因为win 10的cmd命令行老是报错,如下:
C:\Seleium>java -jar selenium-server-standalone-3.141.59.jar
我想通了之后,可能有两个原因。一是cmd没有在管理员模式下运行(记得在cmd后右键选择管理员模式运行!!)
还有一个路径问题,路径要设置为C:\Seleium!!!
设置方法:使用“CD /DC:\Seleium”,然后使用java -jar selenium-server-standalone-3.141.59.jar 来运行我们的seleium(类似于插入)。
设置CMD默认路径-穆良文王-博客园
最后,你可以看到 seleium 成功了。
还有一种方法:在save文件夹下,按住shift,右键,出现了,在这里打开pewershell窗口(有些人没有这个选项,百度的解决办法),同时运行java插件,你应该看到成功 NS
有些人会出现4444端口繁忙,请参考:
selenium server运行时报错---"Port is occupied",windows平台如何查看端口占用情况
6、R配置和爬取程序
股票、基金、期货、美股、港股、外汇、黄金、债券市场体系
<p># install.packages("Rseleium")
library(RCurl)# 抓取数据
library(XML)# 解析网页
librar(rvest)
library(RSelenium)
url_gp