网页数据抓取软件(()(-post类的节点中))

优采云 发布时间: 2021-11-11 12:06

  网页数据抓取软件(()(-post类的节点中))

  在节点中,其中的投票数

  在 .vote-count-post 类的节点中:

  问题 %>%

  html_ _nodes(".question-summary.vote-count-post") %>%

  html_ _text() %>%

  as.integer()

  ## [1] 1429 746 622 533 471

  同样,下面的一段代码用于提取答案的数量:

  问题 %>%

  html_ _nodes(".question-summary.status strong") %>%

  html_ _text() %>%

  as.integer()

  ## [1] 21 15 8 11 7

  但是,如果要继续提取每个问题的标签,则比较困难,因为不同问题的标签数量可能不同。

  在下面的代码中,我们首先选择所有问题的标签集,然后通过迭代提取每个集合中的标签:

  问题 %>%

  html_ _nodes(".question-summary.tags") %>%

  lapply(功能(节点){

  节点%>%

  html_ _nodes(".post-tag") %>%

  html_ _text()

  }) %>%

  字符串

  ## 5 个列表

  ## $: chr [1:2] "r" "r-faq"

  ## $: chr [1:4] "r" "sorting" "dataframe" "r-faq"

  ## $: chr [1:4] "r" "sapply" "tapply" "r-faq"

  ## $: chr [1:5] "r" "join" "merge" "dataframe" ...

  ## $: chr [1:2] "r" "ggplot2"

  以上所有数据采集过程都在同一个网页上进行。想象一下如果你需要从多个页面采集

  我应该怎么做来采集数据?假设我们访问此页面上的每个问题(例如

  q/5963269/2906900)。注意右上角有个“信息框”(information box),我

  我们以列表的形式提取每个问题的“信息框”,如图14-14所示。

  通过检查,我们发现#qinfo正是每个问题页面的“信息框”

  “键”(key)。然后,选择所有问题的超链接并提取每个问题的 URL

  并迭代,读取每个问题页面,然后使用#qinfo从中提取信息框:

  问题 %>%

  html_ _nodes(".question-超链接") %>%

  html_ _attr("href") %>%

  lapply(功能(链接){

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线