- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基本的 R 脚本,我使用 Rselenium 拼凑而成,它允许我登录网站,一旦验证我的脚本,然后转到感兴趣的第一页并从页面中提取 3 段文本。
对我来说幸运的是,URL 的创建方式使我可以将数字向量传递给 URL 以将我带到感兴趣的下一页,因此使用了 map()。
虽然在每个页面上我都想从页面上抓取相同的 3 个元素并将它们存储在主数据框中以供以后分析。
我希望使用 map 函数系列,以便我可以更加熟悉它们,但我真的很难让它们正常工作,谁能告诉我哪里出错了?
这是我代码的主要部分(转到网站并登录)
library(RSelenium)
# https://stackoverflow.com/questions/55201226/session-not-created-this-version-of-chromedriver-only-supports-chrome-version-7/56173984
rd <- rsDriver(browser = "chrome",
chromever = "88.0.4324.27",
port = netstat::free_port())
remdr <- rd[["client"]]
# url of the site's login page
url <- "https://www.myWebsite.com/"
# Navigating to the page
remdr$navigate(url)
# Wait 5 secs for the page to load
Sys.sleep(5)
# Find the initial login button to bring up the username and password fields
loginbutton <- remdr$findElement(using = 'css selector','.plain')
# Click the initial login button to bring up the username and password fields
loginbutton$clickElement()
# Find the username box
username <- remdr$findElement(using = 'css selector','#username')
# Find the password box
password <- remdr$findElement(using = 'css selector','#password')
# Find the final login button
login <- remdr$findElement(using = 'css selector','#btnLoginSubmit1')
# Input the username
username$sendKeysToElement(list("myUsername"))
# Input the password
password$sendKeysToElement(list("myPassword"))
# Click login
login$clickElement()
嘿,我们来了!
现在我的代码将我带到感兴趣的初始页面(索引 = 1)
上面我提到我希望通过每个页面递增,我可以通过在 rcId
元素的 URL 中替换一个整数来做到这一点,见下文
#remdr$navigate("https://myWebsite.com/rc_redesign/#/layout/jcard/drugCard?accountId=XXXXXX&rcId=1&searchType=R&reimbCode=&searchTerm=&searchTexts=*") # 导航到页面
对于 1:9999 中的每个 rcId,我希望获取以下 3 个元素并将它们存储在数据框中
hcpcs_info <- remdr$findElement(using = 'class','is-jcard-heading')
hcpcs <- hcpcs_info$getElementText()[[1]]
hcpcs_description <- remdr$findElement(using = 'class','is-jcard-desc')
hcpcs_desc <- hcpcs_description$getElementText()[[1]]
tc_info <- remdr$findElement(using = 'css selector','.col-12.ng-star-inserted')
therapeutic_class <- tc_info$getElementText()[[1]]
我试过创建一个单独的函数并传递给 map 但我还不够先进,无法将它们拼凑在一起,下面是我尝试过的方法。
my_function <- function(index) {
remdr$navigate(sprintf("https://rc2.reimbursementcodes.com/rc_redesign/#/layout/jcard/drugCard?accountId=113479&rcId=%d&searchType=R&reimbCode=*&searchTerm=*&searchTexts=*",index)
Sys.sleep(5)
hcpcs_info[index] <- remdr$findElement(using = 'class','is-jcard-heading')
hcpcs[index] <- hcpcs_info$getElementText()[index][[1]])
}
x <- 1:10 %>%
map(~ my_function(.x))
任何帮助将不胜感激
最佳答案
尝试以下操作:
library(RSelenium)
purrr::map_df(1:10, ~{
remdr$navigate(sprintf("https://rc2.reimbursementcodes.com/rc_redesign/#/layout/jcard/drugCard?accountId=113479&rcId=%d&searchType=R&reimbCode=*&searchTerm=*&searchTexts=*",.x))
Sys.sleep(5)
hcpcs_info <- remdr$findElement(using = 'class','is-jcard-heading')
hcpcs <- hcpcs_info$getElementText()[[1]]
hcpcs_description <- remdr$findElement(using = 'class','is-jcard-desc')
hcpcs_desc <- hcpcs_description$getElementText()[[1]]
tc_info <- remdr$findElement(using = 'css selector','.col-12.ng-star-inserted')
therapeutic_class <- tc_info$getElementText()[[1]]
tibble(hcpcs, hcpcs_desc, therapeutic_class)
}) -> result
result
关于r - 使用 purrr :map to loop through web pages for scraping with Rselenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66056336/
虽然 HTML Scraping 从我所看到的内容中得到了很好的记录,并且我了解它的概念和实现,但是从隐藏在身份验证表单后面的内容中进行抓取的最佳方法是什么。我指的是从我合法访问的内容中抓取,因此我正
使用 Python、Selenium、Sublime 和 Firefox:我正在从这个网站上抓取链接,并想将抓取的页面(作为 html 文件)保存到一个文件夹中。但是,我已经工作了好几天,试图将这些
我需要构建一个 python 脚本,旨在抓取网页以检索“显示更多”按钮中的数字。 此数字将用作请求 URL 的参数,该 URL 将返回包含数据 + 数字的 JSON。最后一个数字将用作请求 URL 的
当 Google map 在某种程度上确认某个地点搜索时,它会重定向到特定的 Google 地点 url,否则它会返回 map 搜索结果页面。 谷歌地图搜索“manarama”是 https://ww
每当我想在 amazon.com 上抓取时,我都会失败。因为产品信息会根据 amazon.com 中的位置而变化 这个变化信息如下; 1-价格 2-运费 3-海关费用 4-发货状态 用selenium
我正在使用scrapy来抓取网站,现在我需要设置代理处理已发送的请求。谁能帮我在scrapy应用程序中解决这个设置代理。如果有,也请提供任何示例链接。我需要解决这个请求来自哪个 IP 的问题。 最佳答
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
我想知道是否有任何技术可以识别收集信息以供非法使用的网络爬虫。通俗地说,数据盗窃是为了创建一个网站的副本。 理想情况下,该系统会检测来自未知来源的抓取模式(如果 Google 抓取工具不在列表中,等等
我想编写一个抓取脚本来检索cnn文章中的评论。例如,本文:http://www.cnn.com/2012/01/19/politics/gop-debate/index.html?hpt=hp_t1
我正在尝试构建Instagram帐户的Microsoft Access数据库,并希望提取以下数据以及其他信息: 帐户名 关注者数量 关注的人数 帖子数(及其日期) 图片的赞数 图片上的评论数量 我在构
我正在尝试运行一个爬虫,其输出日志如下所示: 2017-04-25 20:22:22 [scrapy.spidermiddlewares.httperror] INFO: Ignoring respo
我想抓取一个网站,该网站的网页上有他们商店的所有联系方式,我可以手动记下这些信息,因此抓取该网站是合法的还是非法的。 最佳答案 是的,除非您不道德地使用它。 Web 抓取就像世界上的任何工具一样。您可
假设我有以下 html: I am going by flying mr tt 文本节点中任何等于或大
寻找任何工具(最好在 python 中)来提取特定网页收到的浏览次数。如果没有,也很方便知道我是否可以获得任何其他网页特定的分析(例如列出的那个) 最佳答案 除非您拥有此特定网页,否则无法查看它获得了
我刚刚开始研究这个,我想将我的 Netgear 路由器 ( http://192.168.0.1/setup.cgi?next_file=stattbl.htm ) 统计数据刮到一个 csv 文件中。
我目前是开发包含前端客户端的应用程序的团队的一员。 我们通过这个客户端发送用户数据,每个用户都有一个用户 ID,客户端通过 RESTful API 与我们的服务器对话,向服务器询问数据。 例如,假设我
有谁知道我如何轻松下载所有已发表的文章摘要?我正在做一个文本挖掘项目。 我能找到的最接近的一个可以在给定 pmid 的情况下一次下载一个摘要,但这对我的目的来说太慢了,因为我必须一次下载一个。 最佳答
当我使用Beautiful Soup发出请求时,我被阻止为“机器人”。 import requests from bs4 import BeautifulSoup reddit1Link = requ
由于网站抓取 Google、Bing 等违反了他们的服务条款,我想知道是否有任何搜索引擎可以抓取结果? 最佳答案 为什么要刮?为什么不使用支持的 API? http://code.google.com
许多页面(facebook、google+ 等)都有一个功能,可以创建带有标题、图像和来自链接的一些文本的摘要。我试图找出是否有任何关于如何执行此类功能的库或指南,但我的搜索结果根本没有帮助。 我知道
我是一名优秀的程序员,十分优秀!