美文网首页
2022-02-13 RSelenium使用

2022-02-13 RSelenium使用

作者: cppcwang | 来源:发表于2022-02-13 10:07 被阅读0次

    RSelenium使用

    近期在准备一门本科课程,内容主要和科技论文写作有关。原本这门课程的内容和R语言没有什么太大的关系,学院提出新的要求,即学生通过这门课程可以完成科学研究的选题,数据收集、整理、分析,学术报告的撰写等。本科生能够获取数据的途径有限,网络数据应该是非常重要的一个选择。因此,我就着手学习一些网络爬虫的知识,以便让学生学以致用。之所以选择用R,因为自己是R的忠实粉丝

    在这里简单记录一些网络爬虫学习过程遇到的问题。

    在R上面一般用得比较多的是rvest,这个是一种很简单的R下的爬虫框架,大多数人都拿它来爬虫极其简单的html页面。selenium作用是模拟访问网页的行为,结合rvest可以爬取动态网页的内容。在使用selenium的过程,首先要学位驱动的配置,这也是我学习中遇到的最大的坑。

    最初我按照教程中binman包,自动在C盘配置安装了chromedriver,geckodriver和selenium-server-standalone-x.xx.x.jar

    driver <-  rsDriver(chromever = "98.0.4758.48", browser = "chrome", port = 4837L)
    

    通过上述命令加载浏览器一切正常,然而(敲黑板)第二天总是报错,提示无法链接服务器server=unknow。网上查了大量的资料也没有办法解决这样的问题。无奈只好手动配置各种驱动文件。最后问题得到圆满的解决。

    网页浏览器驱动要查找浏览器的版本再下载,我安装的驱动版本如下:

    chromedriver放至C:\Program Files\Google\Chrome\Application,添加至环境path

    geckodriver放至D:\Program Files\Mozilla Firefox,添加至环境path

    image-20220213094658219.png

    selenium-server-standalone-3.9.1.jar

    在CMD中定位到驱动安装的目录,运行selenium驱动

    #安装java环境
    #
    java -jar selenium-server-standalone-3.9.1.jar  #可用的selenium文件,运行过程中不要关闭
    
    browser <- remoteDriver(  
      browserName = "chrome", #firefox 
      remoteServerAddr = "localhost",
      port = 4444L #默认端口,可在selenium修改  
    )
    
    #browser <- driver$client
    #server <- driver$server
    browser$open()
    #成功打开浏览器,模拟浏览行为
    

    相关文章

      网友评论

          本文标题:2022-02-13 RSelenium使用

          本文链接:https://www.haomeiwen.com/subject/jcdflrtx.html