download_html()basename(url)中的错误:R中的路径太长

时间:2019-06-03 22:20:08

标签: r xml2

我想从网站网站上下载一些html代码,但是我的R代码使我感到惊讶:Error in basename(url) : path too long

网址的示例是:https://www.amazon.com/VIZIO-1080-Smart-LED-D43-D1/dp/B01A0LGU3O/ref=sxin_3_osp20-8d5e1b7c_cov?ascsubtag=8d5e1b7c-b3a8-4018-9315-b01e2602c1af&creativeASIN=B01A0LGU3O&cv_ct_id=amzn1.osp.8d5e1b7c-b3a8-4018-9315-b01e2602c1af&cv_ct_pg=search&cv_ct_wn=osp-search&keywords=televisore&linkCode=oas&pd_rd_i=B01A0LGU3O&pd_rd_r=6ebe627b-37f8-4a8d-8d6b-e9b1fbb561f2&pd_rd_w=Sc4pX&pd_rd_wg=KAdJs&pf_rd_p=43ba9e17-96f5-4491-b054-e546013f7dc4&pf_rd_r=SR4SDFVDJP5YP89J9F7R&qid=1559599142&s=gateway&tag=bestcont06-20")

如果我使用函数download_html(),则R返回此Error in basename(url) : path too long

URL有效,为什么R返回一个错误?

有没有办法绕过这个问题?

提前谢谢

1 个答案:

答案 0 :(得分:2)

这里的问题是download_html()使用basename()为输出文件生成一个名称:

download_xml(url, file = basename(url))

basename()不喜欢长网址-它试图使用最后一个/之后的所有文件名。

最简单的解决方案是为输出文件提供您自己的名称:

download_xml(your_very_long_url, file = "myfile.html")