Я пытаюсь собрать некоторые данные на внебиржевых рынках (в пределах их robots.txt) и не могу подключиться к веб-странице.
- Первый шаг, который я попробовал, состоял в том, чтобы просто соскоблить HTML прямо со страницы, но для загрузки страницы требуется JavaScript.
- Итак, я скачал фантомы и подключился таким образом. Однако это приводит к ошибке 404
- Затем я изменил пользовательский агент на что-то похожее на пользователя, чтобы посмотреть, позволит ли он мне подключиться, и все же, не повезло! Что здесь происходит
Вот воспроизводимая версия моего кода, любая помощь будет оценена. Phantomjs можно скачать здесь: http://phantomjs.org/
library(rvest)
library(xml2)
library(V8)
# example website, I have no correlation to this stock
url <- 'https://www.otcmarkets.com/stock/YTROF/profile'
# create javascript file that phantomjs can process
writeLines(sprintf("var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36';
page.open('%s', function () {
console.log(page.content); //page source
phantom.exit();
});", url), con="scrape.js")
html <- system("phantomjs.exe_PATH scrape.js", intern = TRUE)
page_html <- read_html(html)