我正在从tripadvisor的评语中获得日期。用xpath在Tripadvisor刮刮枣
我开始:
的日期有两种形式:一个正常的DD/MM/YYYY格式Opinión escrita el 21 mayo 2010
和相对日期格式Opinión escrita hace 4 días
。
的'正常格式'有一个名为类ratingDate
<span class="ratingDate">Opinión escrita el 25 octubre 2006</span>
的'相对格式'有两类ratingDate
和relativeDate
<span title="6 marzo 2016" class="ratingDate relativeDate">Opinión escrita hace 4 días</span>
我使用R和rvest
打包报废日期。
url_hotel <- "https://www.tripadvisor.es/Hotel_Review-g562819-d237083-Reviews-or150-Hotel_Riu_Don_Miguel-Playa_del_Ingles_Maspalomas_Gran_Canaria_Canary_Islands.html#REVIEWS"
html_hotel <- url_hotel %>% read_html()
这是我的问题。当我尝试使用此代码
dates <- html_hotel %>% html_nodes(".ratingDate")
报废日期我得到的“正常时间”只而不是其他人。
试图找到我达到here但
dates <- html_hotel %>% html_nodes(xpath="//*[contains(concat(' ', normalize-space(@class), ' '), ' ratingDate ')]")
din't工作的解决方案。我不断得到相同的结果。
Here有人试图从Tripadvisor获取相同的数据,但使用Python。无论他的回答工作
dates <- html_hotel %>% html_nodes(xpath='//div[@class="col2of2"]//span[@class="ratingDate relativeDate"/@title or @class="ratingDate"]')
有什么办法,树立了一个很好的XPath什么的,让“相对日期”?
在此先感谢。
摘自我猜你需要其他的包:'日期< - html_nodes( “RATINGDATE。 ”) 错误UseMethod(“ xml_find_all”): 不适用方法将'xml_find_all'应用于类“character”的对象,并且...对于R DD/MM/YYYY不是“正常格式”假设你预计“正常”是默认的。 –
@ 42感谢您的评论。你得到一个错误,因为代码错了。抱歉。是我的错。它已经被纠正了。 “正常格式”只是一个名称,指的是不是“相对日期”的日期。我可以得到这个“正常日期”并在R中使用它。问题是我无法得到“相对日期”。我猜想是坏的Xpath。 –