使用rvest的html_form_set时遇字段名含$符号的报错问题求助
解决rvest中带$符号的表单字段赋值问题
你遇到的错误确实是字段名里的$符号导致的——在R语法里,$是用来提取列表/数据框元素的特殊符号,直接把hello$world当作参数名写会被R错误解析,所以触发语法错误。这里给你两种简单的解决方法:
方法一:用反引号包裹特殊字段名
把带$的字段名用反引号(`)括起来,让R把它识别成完整的参数名,代码如下:formSet <- form %>% html_form_set( `hello$world` = 'abc', `foo$bar` = 'xyz' )方法二:用命名列表+非标准求值传参
先构造一个包含字段名和对应值的命名列表,再用!!!把列表展开传递给html_form_set,这种方式也能完美处理特殊字符的字段名:# 先定义字段键值对 form_inputs <- list( `hello$world` = 'abc', `foo$bar` = 'xyz' ) # 传递给表单设置函数 formSet <- form %>% html_form_set(!!!form_inputs)
两种方法都能解决你的问题,选哪种都可以,适合你这种一次性低数据量的抓取需求。
内容的提问来源于stack exchange,提问作者oneyellowlion
相关产品推荐
相关产品推荐

