我是一名数据新闻工作者,我正尝试抓取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。

09-03 18:41