r - 使用登录名抓取页面
问题描述
在询问之前,我确保查看 stackexchange 上的其他 rvest 问题。尤其是:
R - 使用 rvest 抓取受密码保护的网站,而无需在每次循环迭代时登录
和
我正在尝试使用股息.com 的 rvest 刮除除息日期
按照上面的代码,我写了代码,但我似乎遇到了麻烦。
# ADDRESS OF LOGIN PAGE:
URL <- "https://www.dividend.com/login/"
# CREATE PAGE SESSION
pgsession <- html_session(URL)
# CREATE PAGE FORM
pgform <- html_form(pgsession)[[2]] # Problem is here, I get a blank list
# FILL IN PASSWORD AND ID
filled_form <- set_values(form,
user_login = email within quotes,
password = password within quotes)
# GO TO EX-DIVIDEND DATE PAGE AND SCRAPE
div_data <- submit_form(pgsession, filled_form) %>%
jump_to(url from which `to scrape first table within quotes)`
%>% html_node(list("td a", "td span", "tr td") %>% html_table()
但是 html_form(pgsession) 给我返回了一个空白列表()。
谁能给我一些帮助?
谢谢
解决方案
如果其他一切都按预期工作,我认为问题在于使用html_session
内部对象html_form
。它期待一个节点或一个节点集,所以我认为这应该可行。
# CREATE PAGE FORM
pgform <- html_form(read_html("https://www.dividend.com/login/"))
您仍然必须从pgform
对象中提取正确的形式,但我认为应该是这样。
推荐阅读
- r - 3 维数据框的预测建模
- javascript - 通过文本输入实时更新 javascript 变量
- python - 是否可以使用 python 从已发布的 Tableau 工作簿/服务器中提取数据
- php - 从 Woocommerce 3 的可变产品下拉列表中删除“选择一个选项”
- arrays - 索引超出范围:将 3 输入函数的输出映射到 Swift 4 中的 3 维浮点数组
- python - 为什么 subprocess stdout 在有和没有用户输入的情况下表现不同
- python - Python - Selenium - 寻找有关如何验证表格内容的建议
- c++ - 当文件位置正确时,c ++无法打开包含文件
- swift - Cocoa Swift - 取消 FileManager 的任务
- java - 从 Android Studio 中的 url 获取单个整数变量