【问题标题】:getting next results using rvest submit_form使用 rvest submit_form 获取下一个结果
【发布时间】:2016-03-16 03:11:45
【问题描述】:

我正在尝试抓取的网站上有以下内容

    <td align="right">
                <span id="ctl00_ContentPlaceHolder1_lblCount1">825 records found, </span>
                Page
                <input name="ctl00$ContentPlaceHolder1$txtCurrent1" type="text" value="1" maxlength="4" id="ctl00_ContentPlaceHolder1_txtCurrent1" style="width:30px;" />
                of
                <span id="ctl00_ContentPlaceHolder1_lblTotalPage1">83</span>
                <input type="submit" name="ctl00$ContentPlaceHolder1$btnGo1" value="GO" id="ctl00_ContentPlaceHolder1_btnGo1" class="inputbtn" />
            </td>

我已经使用 rvest 包尝试了以下代码

pgsession <- html_session(url)
pgform <- html_form(pgsession)[[1]]
filled_form <- set_values(pgform,`ctl00$ContentPlaceHolder1$txtCurrent1` = 2)
result <- submit_form(pgsession,filled_form)

我没有将网站中的下一张表返回给我。我如何使用这个包来提交一个值并取回生成的 HTML?我做了一些探索,也许我应该使用 Rhttrrcurl 来做到这一点。

【问题讨论】:

    标签: r web-scraping rcurl rvest httr


    【解决方案1】:

    我想通了。正确的代码是:

    pgsession <- html_session("url")
    pgform <- html_form(read_html(pgsession))[[1]]
    filled_form <- set_values(pgform, `ctl00$ContentPlaceHolder1$txtCurrent1` =2)
    result <- submit_form(pgsession,filled_form, submit='ctl00$ContentPlaceHolder1$btnGo1')
    case_home <- read_html(result)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-01
      • 2022-01-14
      相关资源
      最近更新 更多