我是一名数据新闻工作者,我正尝试抓取Xvideos的所有评论,以便更容易找到泄露的个人视频的受害者。我在R中有以下代码,但无法继续,因为我不知道如何单击按钮“注释”或默认情况下如何更改URL以显示注释。你能帮忙吗?谢谢。
library(tidyverse)
library(rvest)
url <- "https://www.xvideos.com/new/1"
links <- url %>%
read_html() %>%
html_nodes("a") %>%
html_attr("href") %>%
as.data.frame() %>%
`colnames<-`("link") %>%
filter(str_detect(link, "/video"))
最佳答案
我不确定为什么一定要为此使用R,我宁愿建议Selenium框架用于此类工作负载。这是执行XHR的javascript,因此它将无法与已读html一起解析,因为它不会执行站点代码。
但是,尽管如此,您还可以对请求进行反向工程-如果您想使用R,这里的解决方案概念将起作用:
您会获得带有代码的视频列表,因此您应该具有以下网址:https://de.xvideos.com/video52314867/...
您可以使用\/video(\d+)\/
之类的正则表达式从那里获取ID,然后请求评论URL:POST https://de.xvideos.com/threads/video-comments/get-posts/top/52314867/0/0
我想您可以看到ID所属的位置...这样一来,您将直接获得视频评论作为响应,而无需执行Javascript。