(Acest articol a fost publicat pentru prima dată pe pacha.dev/blogși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.
Din cauza întârzierilor cu plata bursei mele, dacă această postare vă este utilă, vă cer cu drag o donație minimă pentru a -mi cumpăra o cafea. Acesta va fi folosit pentru a continua eforturile mele open source. Explicația completă este aici: un mesaj personal de la un contribuabil open source.
Puteți să -mi trimiteți întrebări pentru blog folosind acest formular și să vă abonați pentru a primi un e -mail atunci când există o nouă postare.
Motivație
Continuând cu postarea anterioară, aici extind instrucțiunile pentru Windows și Linux (nu am un laptop Mac pentru a testa pe OS X).
Software necesar
- Mozilla Firefox și GeckOdriver: browser web și program de telecomandă
- Rselenium: Integrarea R-Selenium
- Rvest: procesare HTML
- DPlyr: Pentru a încărca operatorul de conducte (poate fi utilizat mai târziu pentru curățarea datelor)
- Purrr: iterație (adică operațiuni repetate)
Mozilla Firefox și Geckodriver
Ferestre
Am instalat Mozilla Firefox de pe site -ul oficial și am urmat instalatorul.
Pentru geckodriver, l-am descărcat de aici pentru Windows pe 64 de biți și am salvat „geckodriver.exe” într-un nou folder „C:”. Apoi, a trebuit să adaug folderul pe calea ca acesta:
- Apăsați Win + S
- Tastați „Variabile de mediu”
- Deschideți „Editați variabilele de mediu ale sistemului”.
- Faceți clic pe „Variabile de mediu”.
- În „Variabile de sistem”, găsiți și selectați „Path”, apoi faceți clic pe „Editare”.
- Faceți clic pe „Nou” și adăugați „C:” fără ghilimele
- Faceți clic pe OK pentru a salva.
Apoi reporniți Rstudio și închideți PowerShell dacă este deschis. Nu instalați geckodrive nu ar avea ca rezultat doar acest mesaj de eroare în R: „Imposibil de creat un nou serviciu GeckOdRiverService.”
Linux
Folosesc Manjaro, deci Firefox este browserul implicit.
Pentru a instala geckodriver am folosit aceste comenzi:
wget https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz -O ~/Downloads/geckodriver.tar.gz tar -xzf ~/Downloads/geckodriver.tar.gz -C ~/Downloads rm ~/Downloads/geckodriver.tar.gz sudo mv ~/Downloads/geckodriver /usr/local/bin/ geckodriver --version
Ieșirea ar trebui să arate „GeckOdriver 0.36.0”.
Relenium și server Selenium
Am instalat rselenium din consola R:
if (!require(RSelenium)) install.packages("RSelenium")
# or
remotes::install_github("ropensci/RSelenium")
Am încercat să încep seleniul așa cum este menționat în ghidul oficial și nu a funcționat.
Am descărcat serverul Selenium din acest link.
Pentru restul pachetelor:
if (!require(rvest)) install.packages("rvest")
if (!require(dplyr)) install.packages("dplyr")
if (!require(purrr)) install.packages("purrr")
Rularea serverului Selenium
Aceste comenzi funcționează pe PowerShell (Windows) și Sh/Bash/ZSH (Linux):
cd Downloads java -jar selenium-server-standalone-3.9.1.jar
Instanța serverului Selenium trebuie să fie rulată de fiecare dată înainte Rularea codului R, cu excepția cazului în care terminalul rămâne deschis.
Controlul browserului
Din RStudio (același lucru pentru un terminal R), aș putea controla browserul de la R:
library(RSelenium) library(rvest) library(dplyr) library(purrr) rmDr <- remoteDriver(port = 4444L, browserName = "firefox") rmDr$open(silent = TRUE) url <- "https://pacha.dev/blog" rmDr$navigate(url)
Acest lucru ar trebui să afișeze o nouă fereastră Firefox și să -mi arate blogul. Restul pașilor sunt aceiași ca în postarea inițială în care arăt exemple practice.
Sper că acest lucru este util 🙂
