我收到一条错误,说我需要在rvest中使用XML_PARSE_HUGE选项,但我无法弄清楚如何使用它。我尝试使用xml包从一个站点获取一个url列表,但它没有获取完整列表。我可以尝试解释一下发生了什么,但我会粘贴我正在使用的代码,看看是否有人知道任何一种方法都可以工作。
url<-"http://www.example-website.com/url-list.html"
list<-read_html(url) %>% xml_nodes("dd a")
此选项在阅读网站时失败,并告诉我需要使用XML_PARSE_HUGE选项。我查看了帮助文档,并尝试在此处阅读其他一些答案,但它们并没有多大帮助。我安装了一个版本的xml2包,它应该强制选项,但是它也没有做任何事情。另一个选项获取列表(以笨拙的方式),但没有获得完整列表。
htmlTreeParse(url, options= HUGE) %>% xmlRoot -> check
check[[2]] %>% paste %>% strsplit(split='"') -> check2
url.list<-paste(url, check2[[3]][grep(".htm", check2[[3]])], sep="")
据我所知(这可能是错的),这抓住了HTML。我检查了,第二个似乎有我想要的所有链接,所以我将html粘贴为一个字符,将其分成引号,然后查看&#34; .htm&#34;找到链接。这可能是一种笨拙的方式来提取我想要的链接,但它实际上工作正常。这个选项的问题是htmlTreeParse实际上并没有得到完整的列表(我在这里查看了,它停止了我想要的一点点)。其余的代码成功地抓取了htmlTreeParse所做的所有链接。
我昨天开始自学网络拼抢,所以我确信我做了很多愚蠢的事情,但是任何可以给出的建议都会受到赞赏。