【问题标题】:Get and set cookies in rvest在 rvest 中获取和设置 cookie
【发布时间】:2018-04-01 10:15:33
【问题描述】:

如何在发出后续 Web 请求之前检查我的会话 cookie 并指定这些 cookie?

我想抓取一个页面,但我无法提交 cookie。

我正在使用 rvest 库。

我的代码:

library(rvest)
WP <- html_session("http://www.wp.pl/")
headers <- httr::headers(WP)
cookies <- unlist(headers[names(headers) == "set-cookie"])
crumbs <- stringr::str_split_fixed(cookies, "; ", 4)
# method 1
stringr::str_split_fixed(crumbs[, 1], "=", 2)
# method 2
cookies(WP)

如何设置我的 cookie 以进行网络抓取?

【问题讨论】:

    标签: r cookies web-scraping rvest httr


    【解决方案1】:
    1. 请记住,rvest 构建在 httr 库之上。
    2. 由于某种我无法解释的原因,这段代码不起作用until I rebooted RStudio

    Here's some code 可以解决问题:

    library(httr)
    library(rvest)
    
    httr::GET("http://www.wp.pl/", 
        set_cookies(`_SMIDA` = "7cf9ea4bfadb60bbd0950e2f8f4c279d",
                    `__utma` = "29983421.138599299.1413649536.1413649536.1413649536.1",
                    `__utmb` = "29983421.5.10.1413649536",
                    `__utmc` = "29983421",
                    `__utmt` = "1",
                    `__utmz` = "29983421.1413649536.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)")) %>%
        read_html %>%  # Sample rvest code
        read_table(fill=TRUE) # Sample rvest code
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-11
      • 2017-04-15
      • 1970-01-01
      • 2018-12-21
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      相关资源
      最近更新 更多