在R里面配置selenium爬虫环境
普通的爬虫,其实什么编程语言都差不多,因为都是网页的html源代码字符串的解析而已,但是很多网页是具有防止爬虫的功能,就是无法直接获取html源代码字符串,需要通过JavaScript来互动。比如:
https://shuju.wdzj.com/
re库(正则提取) requests库(网页数据抓取) 谷歌浏览器(对网页进行分析) BeautifulSoup库(网页标签和内容提取) selenium库+PhantomJS(获得渲染后的页面)
它提供了浏览器中的点击,滚动,滑动,及文字输入等驱动程序。这样,利用Selenium即可以通过脚本程序来替代人工进行测试一个开发软件的各种功能。在处理爬虫任务中,经常遇到需要输入文字,进行下拉菜单选择,以及鼠标点击等情景。 Selenium Server允许你在不同的浏览器上打开网址,对网页进行操作,并爬取网页元素的独立JAVA程序。在处理爬虫任务中,经常遇到需要输入文字,进行下拉菜单选择,以及鼠标点击等情景。通过Selenium Server我们可以对网页进行操作,然后爬取操作后的数据,从而进行爬取动态页面。
https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
(base) jmzengdeMacBook-Pro:MacOS jmzeng$ ls -lh
-rwxrwxr-x 1 jmzeng admin 207K May 2 06:39 Google Chrome
-rwxr-xr-x@ 1 jmzeng admin 10M May 21 09:19 chromedriver
https://chromedriver.storage.googleapis.com/index.html?path=2.29/
09:27:52.174 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server onport 4444
2020-05-21 09:27:52.205:INFO::main: Logging initialized @274ms to org.seleniumhq.jetty9.util.log.StdErrLog
09:27:52.350 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
09:27:52.416 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
library(rvest)
library(stringr)
################调用R包#########################################
library(rvest) # 为了read_html函数
library(RSelenium) # 为了使用JavaScript进行网页抓取
###############连接Server并打开浏览器############################
remDr <- remoteDriver(remoteServerAddr = "127.0.0.1"
, port = 4444
, browserName = "chrome")#连接Server
remDr$open() #打开浏览器
remDr$navigate("https://shuju.wdzj.com/") #打开网页
https://ropensci.org/tutorials/rselenium_tutorial/ http://thatdatatho.com/2019/01/22/tutorial-web-scraping-rselenium/
文末友情宣传
生信爆款入门-全球听(买一得五)(第5期)(可能是最后一期)你的生物信息学入门课 (必看!)数据挖掘第3期(两天变三周,实力加量),医学生/临床医师首选技能提高课 生信技能树的2019年终总结 ,你的生物信息学成长宝藏 2020学习主旋律,B站74小时免费教学视频为你领路,还等什么,看啊!!!
赞 (0)