【问题标题】:Submitting form to Web of Knowledge using R and rvest使用 R 和 rvest 向 Web of Knowledge 提交表单
【发布时间】:2016-07-23 02:09:56
【问题描述】:

我有兴趣使用 RrvestWeb of Knowledge 中抓取期刊标题。但是,我在提交正确的表单时遇到问题。我对 1960-1970 年间所有 Econometrica 文章的列表感兴趣。我使用本地大学图书馆的访问权限自动登录。

当我跑步时

library("rvest")
library("httr")
link = "http://isiknowledge.com/wos"
form = html_session(link) %>% html_form() # returns list of 6 forms
form[[4]] = set_values(form[[4]], # set values in form number 4
    product = "WOS",
    range = "ALL",
    action = "search",
    period = "Range Selection", 
    startYear = "1960",
    endYear = "1970",
    range = "ALL",
    'value(select1)' = "SO",
    'value(input1)' = "econometrica",
    formUpdated = "TRUE") 

submit_form(html_session(link), form = form)

我有两个问题:首先,它使用 '' 而不是“Econometrica”提交,其次,我收到以下错误消息:Error in if (!(submit %in% names(submits))) { : argument is of length zero

有一个 Python 替代品here,但代码必须在 R 中。任何有关如何取得进展的帮助将不胜感激。

【问题讨论】:

    标签: r web-scraping rvest


    【解决方案1】:

    我在 ISI 页面上也遇到过类似的问题,问题是他们至少有时会设计没有提交按钮的表单(提交是使用 JavaScript 处理的)。我检查了the link you posted,该页面上的第四个表单似乎就是这种情况(尽管我不确定搜索图像是否用作提交按钮)。

    如果这是问题所在,那么我对“Submit form with no submit button in rvest”问题的回答可能会为您的情况提供解决方案。

    简而言之,您可以将提交按钮注入您的代码版本,然后提交。如何做到这一点的详细信息在链接的帖子中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2018-11-24
      • 2021-04-29
      • 1970-01-01
      相关资源
      最近更新 更多