我想提交以下表格(点击链接"Kliknite na ..."后出现的表格):http://www1.biznet.hr/HgkWeb/do/extlogon
我必须输入一个名为"OIB"的参数,然后单击"Trazi"提交表单.
这是我的代码:
library(httr)
library(rvest)
sess <- html_session("http://www1.biznet.hr/HgkWeb/do/extlogon")
search_page <- sess %>%
follow_link(1)
form <- html_form(search_page)[[6]]
fill_form <- set_values(form, 'clanica.cla_oib' = '94989605030')
firma_i <- submit_form(search_page, fill_form, submit = 'submit')
Run Code Online (Sandbox Code Playgroud)
最后一行产生错误:
错误:未知提交名称"提交".可能的值:clanica.asTextDatumGasenjaTo,clanica.asTextUdr_id
我不明白为什么rvest在不包含提交名称或类型时将这两个参数识别为提交按钮.为什么rvest不认识提交按钮"Trazi"作为提交参数?简而言之,如何更改填充表单以执行表单?
我在Windows 7上使用R的最新版本.
我想用RSelenium
这样的方法并行运行很多测试,我的问题是:
RSelenium
测试的方法是什么?假设我想进行1000次测试,每步需要1小时.逐个运行测试需要花费很多时间(每天24次测试,因此总共需要42天).我知道如何使用doParallel和foreach包在我的机器上并行运行测试:并行运行RSelenium,但有时,这还不够.我想并行运行大约100个测试.我尝试使用Azure Batch,但在启动selenium服务器时在某些节点上遇到很多错误.
更具体地说,我写了dockerfile:
FROM rocker/r-base:latest
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libxml2-dev \
libcurl4-openssl-dev \
libssl-dev \
gnupg2 \
libfftw3-dev \
libtiff-dev \
libx11-dev \
libcairo2-dev \
libxt-dev \
firefox
#RUN add-apt-repository -y ppa:mozillateam/firefox-next
## Install Java
RUN echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" \
| tee /etc/apt/sources.list.d/webupd8team-java.list \
&& echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" \
| tee -a /etc/apt/sources.list.d/webupd8team-java.list \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys …
Run Code Online (Sandbox Code Playgroud) 我想从以下网页提交表格:http://www.hzzo-net.hr/statos_OIB.htm
首先,我使用2captcha服务绕过recaptcha:
# parameters
api_key <- "c+++"
api_url <- "http://2captcha.com/in.php"
site_key <- "6Lc3SAgUAAAAALFnYxUbXlcJ8I9grvAPC6LFTKQs"
hzzo_url <- "http://www.hzzo-net.hr/statos_OIB.htm"
# GET method
req_url <- paste0("http://2captcha.com/in.php?key=", api_key,"&method=userrecaptcha&googlekey=",
site_key, "&pageurl=", hzzo_url)
get_response <- POST(req_url)
hzzo_content <- content(get_response)
hzzo_content <- xml_text(hzzo_content)
captcha_id <- stringr::str_extract_all(hzzo_content[[1]], "\\d+")[[1]]
# solve captcha
Sys.sleep(16L)
captcha2_solve <- function(apiKey, capstchaID){
req_url <- paste0("http://2captcha.com/res.php?key=", api_key,"&action=get&id=", capstchaID)
result <- GET(req_url)
captcha_content <- content(result)
hzzo_response <- xml_text(captcha_content)
hzzo_response <- strsplit(hzzo_response, "\\|")
return(hzzo_response)
# hzzo_response <- hzzo_response[[1]][[2]]
# return(hzzo_response)
}
hzzo_response <- captcha2_solve(api_key, captcha_id) …
Run Code Online (Sandbox Code Playgroud) 我训练了 LSTM 分类模型,但得到了奇怪的结果(0 准确率)。这是我的带有预处理步骤的数据集:
import pandas as pd
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow import keras
import numpy as np
url = 'https://raw.githubusercontent.com/MislavSag/trademl/master/trademl/modeling/random_forest/X_TEST.csv'
X_TEST = pd.read_csv(url, sep=',')
url = 'https://raw.githubusercontent.com/MislavSag/trademl/master/trademl/modeling/random_forest/labeling_info_TEST.csv'
labeling_info_TEST = pd.read_csv(url, sep=',')
# TRAIN TEST SPLIT
X_train, X_test, y_train, y_test = train_test_split(
X_TEST.drop(columns=['close_orig']), labeling_info_TEST['bin'],
test_size=0.10, shuffle=False, stratify=None)
### PREPARE LSTM
x = X_train['close'].values.reshape(-1, 1)
y = y_train.values.reshape(-1, 1)
x_test = X_test['close'].values.reshape(-1, 1)
y_test = y_test.values.reshape(-1, 1)
train_val_index_split = 0.75
train_generator = keras.preprocessing.sequence.TimeseriesGenerator(
data=x,
targets=y, …
Run Code Online (Sandbox Code Playgroud) 我想在所有 Pandas 列上并行应用一些函数。例如,我想并行执行此操作:
def my_sum(x, a):
return x + a
df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
'num_wings': [2, 0, 0, 0]})
df.apply(lambda x: my_sum(x, 2), axis=0)
Run Code Online (Sandbox Code Playgroud)
我知道有一个swifter
包,但它不支持axis=0
应用:
NotImplementedError:Swifter 无法在大型数据集上执行 axis=0 应用。Dask 目前没有实现 axis=0 应用。更多详情请访问https://github.com/jmcarpenter2/swifter/issues/10
Dask 也不支持此功能axis=0
(根据swifter 中的文档)。
我用谷歌搜索了几个来源,但找不到简单的解决方案。
不敢相信这在熊猫中如此复杂。
让我们说我有数据框:
df <- data.frame(City = c("NY", "NY", "NY", "NY", "NY", "LA", "LA", "LA", "LA"),
YearFrom = c("2001", "2003", "2002", "2006", "2008", "2004", "2005", "2005", "2002"),
YearTo = c(NA, "2005", NA, NA, "2009", NA, "2008", NA, NA))
Run Code Online (Sandbox Code Playgroud)
其中YearFrom是例如公司成立的年份,YearTo是取消的年份.如果YearTo是NA,那么它仍在工作.
我想计算每年的公司数量.
该表应如下所示
City |"Year" |"Count"
"NY" |2001 1
"NY" |2002 2
"NY" |2003 3
"NY" |2004 3
"NY" |2005 2
"NY" |2006 3
"NY" |2007 3
"NY" |2008 4
"NY" |2009 3
"LA" |2001 0
"LA" |2002 1
"LA" |2003 1
"LA" |2004 …
Run Code Online (Sandbox Code Playgroud) 我使用的是R 3.4.2.我正在关注包中的例子decryptr
library(decryptr)
# Download captchas
captcha <- download_tjmg(dest = 'img')
keras_tjmg <- decryptrModels::read_model('tjmg')
Run Code Online (Sandbox Code Playgroud)
最后一行代码产生错误
Error in keras::load_model_hdf5(file_path) :
The h5py Python package is required to save and load models
Run Code Online (Sandbox Code Playgroud)
我试图从终端重新安装h5py包.我也安装了keras
包.我可以在pyrthon中导入h5py包,但Rstudio不知道它以某种方式识别它.
我有一个简单的yaml文件:
seleniumhub:
image: selenium/hub
ports:
- 4444:4444
firefoxnode:
image: selenium/node-firefox-debug
ports:
- 4577
links:
- seleniumhub:hub
chromenode:
image: selenium/node-chrome-debug
ports:
- 4578
links:
- seleniumhub:hub
Run Code Online (Sandbox Code Playgroud)
我在docker中执行过:
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
我有一个集线器和两个节点在运行.
现在我想并行运行两个非常简单的selenium命令(用RSelenium编写):
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)
Run Code Online (Sandbox Code Playgroud)
我想知道如何在Python或R中并行运行selenium命令.我尝试了几种方法但没有效果.例如在R中:
library(RSelenium)
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4444L)
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)
Run Code Online (Sandbox Code Playgroud)
什么都不做 我也试过运行两个remoteDrivers,但这对以太没有帮助:
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4577L)
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(display = TRUE)
Run Code Online (Sandbox Code Playgroud) 我正在使用 R 版本 3.3.2。使用 Rselenium 包,我试图从这个网站上抓取一些数据:http ://www.dziv.hr/en/e-services/on-line-database-search/patents/
我正在使用 Rselenium,我的代码如下所示:
selServ <- RSelenium::startServer(javaargs = c("-Dwebdriver.gecko.driver=\"C:/Users/Mislav/Documents/geckodriver.exe\""))
remDr <- remoteDriver(extraCapabilities = list(marionette = TRUE))
remDr$open()
Sys.sleep(2)
# Simulate browser session and fill out form
remDr$navigate("http://www.dziv.hr/hr/e-usluge/pretrazivanje-baza-podataka/patent/")
Run Code Online (Sandbox Code Playgroud)
这不起作用:
webel <- remDr$findElement(using = "xpath", "/input[@id = 'TB1']")
Run Code Online (Sandbox Code Playgroud)
然后我想使用switchToFrame()
函数切换到 iframe ,但是 iframe 不包含 id。
然后我有 tr 使用索引:webel <- remDr$switchToFrame(1) 但这只是返回 NULL
另外,我认识到,iframe 有不同的域。
是否可以从该网站 svrap 数据?
我正在使用auth0
包进行闪亮的身份验证。该软件包包含auth0::logoutButton()
. 我想将这些按钮放在NavbarPage
Shiny 应用程序的右侧。这是一个简单的应用程序:
library(shiny)
library(markdown)
ui <- navbarPage("Navbar!",
tabPanel("Plot",
sidebarLayout(
sidebarPanel(
radioButtons("plotType", "Plot type",
c("Scatter"="p", "Line"="l")
)
),
mainPanel(
plotOutput("plot")
)
)
),
tabPanel("Summary",
verbatimTextOutput("summary")
)
###
# HERE ADD loginButton() in new panel that will be on the right side for test any actionbutton
###
)
server <- function(input, output, session) {
output$plot <- renderPlot({
plot(cars, type=input$plotType)
})
output$summary <- renderPrint({
summary(cars)
})
output$table <- DT::renderDataTable({
DT::datatable(cars)
})
}
shinyApp(ui = ui, server …
Run Code Online (Sandbox Code Playgroud)