【问题标题】:Scraping blog articles in R using rvest package使用 rvest 包在 R 中抓取博客文章
【发布时间】:2021-09-06 10:57:19
【问题描述】:

对于一个大学项目,我想抓取 Instagram 博客 (https://about.instagram.com/blog/announcements/break-down-how-instagram-search-works) 的博客文章。获取文章的标题、日期和作者是没有问题的,但是当我尝试获取实际的文章文本时,它什么也没有返回。有人知道可能是什么问题吗?

这是我的代码:

require ("rvest")
require ("stringr")
require ("tidyverse")
library (tidyverse)
library (rvest)
library (stringr)

### set variable to save url ###
url <- 'https://about.instagram.com/blog/announcements/break-down-how-instagram-search-works'

### scrape title of blog entry ###
titles <- read_html(url) %>% 
  html_nodes('h1') %>%
  html_text()

### scrape author and date into a vector ###
author_date <- read_html(url) %>% 
  html_nodes ('._8hlt') %>%
  html_nodes ('._8hlu') #%>%
  html_text()

### separate author and date from vector into single character variables ###
author <- author_date [1]  
date <- author_date [2]

### scrape article text. does not work unfortunately. any idea why? ###
text <- read_html(url) %>%
  html_nodes ("._8ig0 _8g86") %>%
  html_nodes ("._8g86 _9g5w _8iq8 _8ipi") %>%
  html_text()

【问题讨论】:

    标签: r rvest


    【解决方案1】:

    使用此代码获取段落中的所有文本。

    text2 <- read_html(url) %>%
      html_nodes (xpath="//p[.//text()]") %>%
      html_text()
    

    【讨论】:

    • 唯一不工作的是包含没有

      标签的部分文本。你知道我如何可以包含其他带有标签的文本,如 h1、h2 和 ul 吗?到目前为止,我只设法对其他标签进行了相同的操作,但是我有几个文本列表 sn-ps 不再是原始顺序。

    • 是的,您必须修改 Xpath 才能进行此类搜索,包括其中的其他标签替换其他标签类的 p
    • 无论如何,如果进行网络报废,希望标签的 id 在每个站点上都会发生变化,那么按类别搜索会更明智。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2010-12-02
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多