ฉันกำลังพยายามขูดเว็บไซต์ moderna/pfizer เพื่อดูว่าพวกเขาเผยแพร่ข่าววันไหน รหัสใน R ให้อักขระเอาต์พุต (0) ไม่ใช่วันที่

นี่คือรหัสที่ฉันเรียกใช้สำหรับไฟเซอร์และ Moderna (แพ็คเกจที่ใช้: 'rvest')

ไฟเซอร์:

scrape_url ‹- http://www.pfizer.com/news

หน้าเว็บ ‹- read_html(scrape_url)

pfizer_newsdates_html ‹- html_nodes(หน้าเว็บ,'.rssDate')

pfizer_newsdates ‹- html_text(pfizer_newsdates_html)

หัวหน้า(pfizer_newsdates)


เพื่อความทันสมัย-

scrape_url2 ‹- https://investors.modernatx.com/news-releases

หน้าเว็บ 2 ‹- read_html(scrape_url)

moderna_newsdates_html ‹- html_nodes (หน้าเว็บ,'.nir-widget--news--date-time')

moderna_newsdates ‹- html_text(moderna_newsdates_html)

หัวหน้า(moderna_newsdates)


person user15681053    schedule 18.04.2021    source แหล่งที่มา


คำตอบ (1)


สำหรับไฟเซอร์ให้ใช้คลาสที่เหมาะสม สำหรับ Moderna ให้ใช้ httr เป็นส่วนหัวของ user-agent

library(rvest)
library(magrittr)
library(httr)
library(stringr)

moderna_dates <- read_html(httr::GET('https://investors.modernatx.com/news-releases', add_headers("User-Agent" = "Mozilla/5.0"))) %>% 
  html_nodes('.nir-widget--news--date-time') %>% html_text() %>% str_squish()

pfizer_dates <- read_html('https://www.pfizer.com/news') %>% 
  html_nodes('.views-field-field-press-release-date') %>% html_text()
person QHarr    schedule 18.04.2021
comment
ฉันได้ผลลัพธ์ในรูปแบบซีรีส์ ฉันสามารถทำอนุกรมเวลากับเอาต์พุตนี้ในขั้นตอนถัดไปได้หรือไม่ ถ้าใช่ ทำอย่างไร? - person user15681053; 19.04.2021