在 read_html() 中传递 user_agent() 参数
Pass user_agent() parameter in read_html()
我不明白如何将用户代理传递给 read_html()。
推荐如下代码:
library(httr)
library(rvest)
parse_rvest <- html(myurl, user_agent("myagent"))
此外,我了解到 html() 现在已被 read_html() 取代。但是,下面的代码:
parse_rvest <- read_html("http://testing-ground.scraping.pro/",
user_agent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"))
returns一个错误:
Error in doc_parse_raw(x, encoding = encoding, base_url = base_url, as_html = as_html, :
Expecting a single string value: [type=list; extent=7].
你快到了。你需要做 user_agent = "user agent"
,而不是 user_agent("user-agent")
这里有一个 reprex 来演示:
library(httr)
library(rvest)
#> Loading required package: xml2
parse_rvest <- read_html("http://testing-ground.scraping.pro/",
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0")
parse_rvest
#> {html_document}
#> <html class="no-js">
#> [1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
#> [2] <body>\n\t\t<script type="text/javascript">\n\t\t\n\t\t var _gaq = _gaq ...
由 reprex package (v0.3.0)
于 2020 年 3 月 2 日创建
我不明白如何将用户代理传递给 read_html()。
library(httr)
library(rvest)
parse_rvest <- html(myurl, user_agent("myagent"))
此外,我了解到 html() 现在已被 read_html() 取代。但是,下面的代码:
parse_rvest <- read_html("http://testing-ground.scraping.pro/",
user_agent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"))
returns一个错误:
Error in doc_parse_raw(x, encoding = encoding, base_url = base_url, as_html = as_html, :
Expecting a single string value: [type=list; extent=7].
你快到了。你需要做 user_agent = "user agent"
,而不是 user_agent("user-agent")
这里有一个 reprex 来演示:
library(httr)
library(rvest)
#> Loading required package: xml2
parse_rvest <- read_html("http://testing-ground.scraping.pro/",
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0")
parse_rvest
#> {html_document}
#> <html class="no-js">
#> [1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 ...
#> [2] <body>\n\t\t<script type="text/javascript">\n\t\t\n\t\t var _gaq = _gaq ...
由 reprex package (v0.3.0)
于 2020 年 3 月 2 日创建